2587 - 【入门】数字图像处理

通过次数

7

提交次数

8

时间限制 : 1 秒
内存限制 : 128 MB

我们知道一张电子图片是由若干像素。一张由 n \times m 个像素点组成灰色图片,我们可以把它看成一个 n \times m 的二维数组,数组中每个位置用一个 0 ~ 255 的值来表示该像素的亮度。

周周刚刚学习了一种图像的锐化处理方法。所谓锐化就是让图像突出的地方更加明显,让不突出的地方更加暗淡。图像锐化处理的方法如下,对于每个像素点,我们把该位置的像素点的值乘上 5,然后减去和该像素点上下左右相邻的 原图 上的像素点的值(如果某个方向上没有相邻的像素,用 0 替代)。如果新的像素小于 0,那么用 0 替代,如果新的像素大于 255,那么用 255 替代,对每个像素点都处理一遍以后,得到的新图就是锐化过的的图片。

周周请你帮忙写一个程序来实现图像的锐化。

输入

输入第一行两个整数 n,m 表示图像的大小。

接下来 n 行,每行输入 m 个空格隔开的整数,表示图像中每个点的像素。

输出

输入一共 n 行,每行 m 个空格隔开的整数,表示锐化过后的新图。

数据范围和约定

对于 20\% 的数据满足:n = 1 或者 m = 1

对于另外 40\% 的数据满足:n = 99, m \le 100,所有点的像素值一样;

对于另外 40\% 的数据满足:n = 100, m \le 100,所有点的像素值大于等于 0 且小于 255

样例

输入

3 3
4 7 10
5 7 1
0 3 4

输出

8 14 42
14 19 0
0 4 16

输入

9 10
227 179 232 30 66 189 36 156 211 35
212 158 104 188 140 221 161 107 255 54
88 4 134 63 239 244 26 123 59 129
211 110 88 248 123 165 230 118 245 104
149 185 145 39 180 124 140 128 193 220
96 123 101 91 205 158 83 83 3 214
208 232 49 183 118 43 91 70 11 199
50 82 106 159 102 216 248 76 255 88
12 107 203 253 181 187 185 254 116 229

输出

255 255 255 0 0 255 0 255 255 0
255 255 0 255 0 255 255 0 255 0
13 0 255 0 255 255 0 255 0 255
255 62 0 255 0 104 255 0 255 0
253 255 255 0 255 0 135 106 255 255
0 1 97 0 255 255 0 131 0 255
255 255 0 255 57 0 11 89 0 255
0 0 37 151 0 255 255 0 255 0
0 238 255 255 255 255 236 255 0 255

提示

用一个方向变量进行模拟。