%均值滤波是图像处理中一种常见的滤波算法,它主要应用于平滑噪声。
%它的原理主要是利用某像素点周边像素的平均值来打到平滑噪声的效果。
%图像滤波操作实际上就是模板操作,对于模板操作我们应该注意边界问题。
%对于边界问题就是当图像处理边界像素的时候,卷积核与图像使用区域不能匹配,计算出现问题。
%处理方法:
%(1)忽略边界像素,即丢掉不能匹配的像素;
%(2)保留边界像素,即复制源图像的不能匹配的边界像素到输出图像。
I=imread('001.jpg');%读取图像
I = rgb2gray(I);
%J=imnoise(I,'gaussian',0,0.005);%加入均值为0,方差为0.005的高斯噪声
%subplot(2,3,1);
figure,imshow(I);
xlabel('a).原图');
%subplot(2,3,2);imshow(J);
%xlabel('b).加入高斯噪声后');
%采用MATLAB中的函数filter2对受噪声干扰的图像进行均值滤波
K1=filter2(fspecial('average',[3,3]),I)/255;%模板尺寸为3
%K2=filter2(fspecial('average',[5,5]),I)/255;%模板尺寸为5
%K3=filter2(fspecial('average',[7,7]),I)/255;%模板尺寸为7
%K4=filter2(fspecial('average',[9,9]),I)/255; %模板尺寸为9
%subplot(2,3,3);
figure,imshow(K1);
xlabel('c).模板尺寸为3');
%subplot(2,3,4);imshow(K2);
%xlabel('d).模板尺寸为5');
%subplot(2,3,5);imshow(K3);
%xlabel('e).模板尺寸为7');
%subplot(2,3,6);imshow(K4);
%xlabel('f).模板尺寸为9');
评论0