图像模糊是图像处理中最简单和常用的操作之一,其主要目的之一是给图像预处理的时候降低图像噪声。比如,在大目标提取之前去除图像中的一些琐碎细节。
给定 n 行 m 列的图像各像素点的灰度值,要求用如下方法对其进行模糊化处理:
1.四周最外侧的像素点灰度值不变;
2.中间各像素点新灰度值为该像素点及其上下左右相邻四个像素点原灰度值的平均(舍入到最接近的整数)。
输入
第一行包含两个整数 n 和 m,表示图像包含像素点的行数和列数。1≤n≤100,1≤m≤100。
接下来 n 行,每行 m 个整数,表示图像的每个像素点灰度。相邻两个整数之间用单个空格隔开,每个元素均在 0~255 之间。
输出
n 行,每行 m 个整数,为模糊处理后的图像。相邻两个整数之间用单个空格隔开。
样例输入
4 5100 0 100 0 5050 100 200 0 050 50 100 100 200100 100 50 50 100
样例输出
100 0 100 0 5050 80 100 60 050 80 100 90 200100 100 50 50 100
我的解题:
本题涉及到的知识点是二维数组。
下附我的AC代码:
#include <bits/stdc++.h>
#include<cmath>