题目描述 给定n行m列的图像各像素点的灰度值,要求用如下方法对其进行模糊化处理: 1. 四周最外侧的像素点灰度值不变; 2. 中间各像素点新灰度值为该像素点及其上下左右相邻四个像素点原灰度值的平均(舍入到最接近的整数)。 输入 第一行包含两个整数n和m,表示图像包含像素点的行数和列数。1 <= n <= 100,1 <= m <= 100。 接下来n行,每行m个整数,表示图像的每个像素点灰度。相邻两个整数之间用单个空格隔开,每个元素均在0~255之间。 输出 n行,每行m个整数,为模糊处理后的图像。相邻两个整数之间用单个空格隔开。
时间: 2024-04-12 14:26:35 浏览: 74
图像灰度化处理
```python
def blur_image(n, m, image):
result = [[0] * m for _ in range(n)]
for i in range(n):
for j in range(m):
if i == 0 or i == n-1 or j == 0 or j == m-1:
result[i][j] = image[i][j]
else:
neighbors_sum = (
image[i-1][j] + image[i+1][j] + image[i][j-1] + image[i][j+1]
)
result[i][j] = round((neighbors_sum + image[i][j]) / 5)
return result
n, m = map(int, input().split())
image = []
for _ in range(n):
row = list(map(int, input().split()))
image.append(row)
blurred_image = blur_image(n, m, image)
for row in blurred_image:
print(' '.join(map(str, row)))
```
注意:由于我是一个文本AI模型,无法真正运行代码。请将以上代码复制到你的编程环境中运行,并根据题目要求输入相应的数据。
阅读全文