#P13729. 图像模糊处理

提交4 通过1
通过率25%
时间限制1000ms
内存限制256MiB

题目描述

题目背景

一幅灰度图像可以表示成一个整数矩阵。矩阵中的每个数是对应像素的灰度值,数值越大通常表示像素越亮。现在要用相邻像素的灰度值对图像进行一次简单的模糊处理。

题目描述

给定一个 nnmm 列的灰度矩阵。处理规则如下:

  1. 位于最上方、最下方、最左侧或最右侧的像素保持原值不变;
  2. 对于不在边界上的像素 (i,j)(i,j),取原图中的五个灰度值:当前位置、上方、下方、左方和右方;
  3. 将这五个数的平均值四舍五入到最接近的整数,作为 (i,j)(i,j) 的新灰度值。

所有新灰度值必须根据处理前的原图计算,不能使用已经更新过的值。如果图像没有内部像素,例如只有一行或一列,则整幅图像保持不变。

输入格式

第一行两个整数 n,mn,m,表示图像的行数和列数。

接下来 nn 行,每行 mm 个整数。第 ii 行第 jj 个整数表示像素 (i,j)(i,j) 的原始灰度值。

输出格式

输出 nn 行,每行 mm 个整数,表示模糊处理后的灰度矩阵。每行相邻的两个整数之间用一个空格分隔。

输入样例 #1

3 3
0 0 0
0 255 0
0 0 0

输出样例 #1

0 0 0
0 51 0
0 0 0

样例说明 #1

只有中心像素需要重新计算。它与上下左右四个像素之和为 255255,平均值为 255÷5=51255\div5=51

输入样例 #2

1 5
3 3 201 180 187

输出样例 #2

3 3 201 180 187

输入样例 #3

4 4
94 62 255 199
254 95 210 177
127 161 109 233
100 10 248 96

输出样例 #3

94 62 255 199
254 156 169 177
127 100 192 233
100 10 248 96

数据范围与约定

  • 1n,m1001\le n,m\le 100
  • 每个灰度值都在 00255255 之间;
  • 平均值按照通常的四舍五入规则取整。