均值滤波
什么是图像滤波?
图像滤波,即在尽量保留图像细节特征的条件下对目标图像的噪声进行抑制,是图像预处理中不可缺少的操作,其处理效果的好坏将直接影响到后续图像处理和分析的有效性和可靠性。
消除图像中的噪声成分叫作图像的平滑化或滤波操作。信号或图像的能量大部分集中在幅度谱的低频和中频段是很常见的,而在较高频段,感兴趣的信息经常被噪声淹没。因此一个能降低高频成分幅度的滤波器就能够减弱噪声的影响。
图像滤波的目的有两个:一是抽出对象的特征作为图像识别的特征模式;另一个是为适应图像处理的要求,消除图像数字化时所混入的噪声。
而对滤波处理的要求也有两条:一是不能损坏图像的轮廓及边缘等重要信息;二是使图像清晰视觉效果好。
什么是均值滤波?
均值滤波是一种线性滤波器,是将一个窗口区域中的像素计算平均值,然后将窗口中计算得到的均值设置为锚点上的像素值。
缺点:不能很好地保护图像细节,在图像去噪的同时破坏了图像的细节部分,从而使图像变得模糊,不能很好地去除噪声点。
matlab代码如下:
f = imread('ball.jpg');
f = rgb2gray(f);
imshow(f)
n = 51;
template = ones(n);
[height, width] = size(f);
x1 = double(f);
x2 = x1;
for i = 1:height-n+1
for j = 1:width-n+1
c = x1(i:i+n-1,j:j+n-1).*template;
s = sum(sum(c));
x2(i+(n-1)/2,j+(n-1)/2) = s/(n*n);
end
end
g = uint8(x2);
figure
imshow(g);