对同时含有椒盐噪声和高斯噪声的图像进行处理

更新时间:2024-06-27 14:03:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

目录

一、摘要 二、均值滤波 三、中值滤波 四、超限像素平滑法 五、总结 六、参考文献

第 0 页 共 12 页

一、摘要

图像信号在产生、传输和记录的过程中,经常会受到各种噪声的干扰,噪声可以理解为妨碍人的视觉器官或系统传感器对所接收图像源信息进行理解或分析的各种元素。噪声对图像的输入、采集、处理的各个环节以及最终输出结果都会产生一定影响。图像去噪是数字图像处理中的重要环节和步骤。去噪效果的好坏直接影响到后续的图像处理工作如图像分割、边缘检测等。一般数字图像系统中的常见噪声主要有:高斯噪声(主要由阻性元器件内部产生)、椒盐噪声(主要是图像切割引起的黑图像上的白点噪声或光电转换过程中产生的泊松噪声)等。我们平常使用的滤波方法一般有均值滤波、中值滤波和维纳滤波,他们分别对某种噪声的滤除有较好的效果,但对于同时存在高斯噪声和椒盐噪声的图像处理的效果可能不会太好,在这里我们分别用多种方法对图像噪声进行处理,对比使用效果。

关键词:图像去噪、常见噪声、多种方法、使用效果。

第 1 页 共 12 页

二、均值滤波

均值滤波算法:也称线性滤波,主要思想为邻域平均法。假设图像有由许多灰度恒定的小块组成,相邻像素间存在很高的空间相关性,而噪声则是独立的,则可用像素邻域内的各像素的灰度平均值代替该像素原来的灰度值,实现图像的平滑。这种算法简单,处理速度快,但它的主要缺点是在降低噪声的同时使图像产生模糊,特别是在边缘和细节处。而且邻域越大,在去噪能力增强的同时模糊程度越严重。

均值滤波对同时含有高斯和椒盐噪声的图像的处理: I1=imread('Miss.bmp'); subplot(2,2,1); imshow(I1);

title('原图');

k1=imnoise(I1,'salt & pepper',0.01); I=imnoise(k1,'gaussian',0.01); subplot(2,2,2); imshow(I)

title('加入高斯和椒盐噪声以后'); [a,b]=size(I);

I2=zeros(a+2,b+2); I3=zeros(a,b);

for n=1:a

for m=1:b

I2(n+1,m+1)=I(n,m); end; end; for n=2:a for m=2:b

I3(n-1,m-1)=[I2(n-1,m-1)+I2(n-1,m)+I2(n-1,m+1)+I2(n,m-1)+I2(n,m)+I2(n,m+1)+I

第 2 页 共 12 页

2(n+1,m-1)+I2(n+1,m)+I2(n+1,m+1)]/9; end; end;

subplot(2,2,3); imshow(uint8(I3)); title('3*3均值滤波以后'); [a,b]=size(I); I4=zeros(a+4,b+4); I5=zeros(a,b); for n=1:a

for m=1:b

I4(n+2,m+2)=I(n,m); end; end;

for n=3:a for m=3:b

I5(n-2,m-2)=[I4(n-2,m-2)+I4(n-2,m-1)+I4(n-2,m)+I4(n-2,m+1)+I4(n-2,m+2)+I4(n-1,m-2)+I4(n-1,m-1)+I4(n-1,m)+I4(n-1,m+1)+I4(n-1,m+2)+I4(n,m-2)+I4(n,m-1)+I4(n,m)+I4(n,m+1)+I4(n,m+2)+I4(n+1,m-2)+I4(n+1,m-1)+I4(n+1,m)+I4(n+1,m+1)+I4(n+1,m+2)+I4(n+2,m-2)+I4(n+2,m-1)+I4(n+2,m)+I4(n+2,m+1)+I4(n+2,m+2)]/25; end; end;

subplot(2,2,4);

imshow(uint8(I5));

title('5*5均值滤波以后');

第 3 页 共 12 页

运行效果:

orginal加入噪声以后3*3平滑以后5*5平滑以后

均值滤波对同时含有高斯和椒盐噪声的图像处理分析:

根据对上图的观察可以明显发现,使用均值滤波对高斯噪声进行去噪效果比较好,虽然对椒盐也有效果,但是不如对高斯噪声的处理效果好。另外处理时选用的邻域半径越大效果越好,当然其代价也会更大,在去噪的同时图像失去的信息也会更多的。

第 4 页 共 12 页

三、中值滤波

基于排序统计理论的一种能有效抑制噪声的非线性平滑滤波信号处理技术。中值滤波的特点即是首先确定一个以某个像素为中心点的邻域,一般为方形邻域,也可以为圆形、十字形等等,然后将邻域中各像素的灰度值排序,取其中间值作为中心像素灰度的新值,这里领域被称为窗口,当窗口移动时,利用中值滤波可以对图像进行平滑处理。其算法简单,时间复杂度低,但其对点、线和尖顶多的图像不宜采用中值滤波。很容易自适应化。

中值滤波对同时含有高斯和椒盐噪声的图像的处理: I=imread('Miss.bmp'); subplot(2,2,1);

imshow(I);title('原图');

k1=imnoise(I,'salt & pepper',0.01); K=imnoise(k1,'gaussian',0.01); subplot(2,2,2) imshow(K);

title('加入高斯和椒盐噪声以后'); [a,b]=size(K); for i=1:a

for j=1:b

if(i==1|i==a|j==1|j==b) G(i,j)=K(i,j); else

J=[K(i-1,j-1),K(i-1,j),K(i-1,j+1),K(i,j-1),K(i,j),K(i,j+1),K(i+1,j-1),K(i+1,j),K(i+1,j+1)];

J=sort(J); G3(i,j)=J(5); end end end

subplot(2,2,3);

第 5 页 共 12 页

imshow(G3);

title('3*3中值滤波以后'); for i=1:a

for j=1:b

if(i==1|i==2|i==a-1|i==a|j==1|j==2|j==b-1|j==b) G5(i,j)=K(i,j); else

J=[K(i-2,j-2),K(i-2,j-1),K(i-2,j),K(i-2,j+1),K(i-2,j+2),K(i-1,j-2),K(i-1,j-1),K(i-1,j),K(i-1,j+1),K(i-1,j+2),K(i,j-2),K(i,j-1),K(i,j),K(i,j+1),K(i,j+2),K(i+1,j-2),K(i+1,j-1),K(i+1,j),K(i+1,j+1),K(i+1,j+2),K(i+2,j-2),K(i+2,j-1),K(i+2,j),K(i+2,j+1),K(i+2,j+2)]; J=sort(J);

G5(i,j)=J(13); end end end

subplot(2,2,4) imshow(G5);

title('5*5中值滤波以后');

第 6 页 共 12 页

运行效果图:

原图加入高斯和椒盐噪声以后3*3中值滤波以后5*5中值滤波以后

中值滤波对同时含高斯和椒盐噪声的图像滤波效果分析:

通过上图我们可得出结论,即中值滤波对于去除椒盐噪声效果最好,而对高斯噪声不是很理想。中值滤波对于去除椒盐噪声效果明显,是因为椒盐噪声只在画面上的部分点随机出现,而中值滤波根据数据排序,将未被污染的点代替噪声点的值的概率较大,所以抑制效果好。对点、线和尖顶较多的图像不宜采用中值滤波,因为一些细节点可能被当成噪声点。

第 7 页 共 12 页

四、中值和均值综合滤波

根据以上对图像的处理可以发现,均值滤波和中值滤波对两种噪声的去除各有侧重,单独使用时对同时含有高斯和椒盐噪声的图像的处理并不理想。因此可以对污染图像先进行一次中值滤波,对椒盐噪声进行一次处理,然后再用均值滤波对高斯噪声进行处理。

均值和中值滤波对污染图像进行处理: I=imread('Miss.bmp'); subplot(2,2,1);

imshow(I);title('原图');

k1=imnoise(I,'salt & pepper',0.01); K=imnoise(k1,'gaussian',0.01); subplot(2,2,2)

imshow(K);

title('加入高斯和椒盐噪声以后'); [a,b]=size(K); for i=1:a

for j=1:b

if(i==1|i==a|j==1|j==b) G(i,j)=K(i,j); else

J=[K(i-1,j-1),K(i-1,j),K(i-1,j+1),K(i,j-1),K(i,j),K(i,j+1),K(i+1,j-1),K(i+1,j),K(i+1,j+1)];

J=sort(J); L(i,j)=J(5); end end end

subplot(2,2,3); imshow(L);

title('3*3?中值滤波以后'); [x,y]=size(L)

I2=zeros(x+2,y+2);

第 8 页 共 12 页

I3=zeros(x,y); for n=1:x

for m=1:y

I2(n+1,m+1)=L(n,m); end; end;

for n=2:x for m=2:y

I3(n-1,m-1)=[I2(n-1,m-1)+I2(n-1,m)+I2(n-1,m+1)+I2(n,m-1)+I2(n,m)+I2(n,m+1)+I2(n+1,m-1)+I2(n+1,m)+I2(n+1,m+1)]/9; end;

end;

subplot(2,2,4); imshow(uint8(I3)); title('3*3均值滤波以后');

运行效果图:

原图加入高斯和椒盐噪声以后3*3中值滤波以后3*3均值滤波以后

第 9 页 共 12 页

从运行效果可以看出,相对于只用一种方法进行滤波,进行中值和均值综合滤波以后,污染图像的噪声去除是比较好的。但经过两次滤波后,图像的信息的损失也比较多。

五、总结

一、对于椒盐噪声,中值滤波效果比均值滤波效果好。 原因:

1、椒盐噪声是幅值近似相等但随机分布在不同的位置上,图像中有干净点也有污染点。

2、中值滤波是选择适当的点来代替污染点的值,所以处理效果好。 3、因为噪声的均值不为零,所以均值滤波不能很好地去除噪声点。 二、对于高斯噪声,均值滤波效果比中值滤波效果好。 原因:

1、高斯噪声是幅值近似正态分布,但分布在每点像素上。

2、因为图像中的每点都是污染点,所以中值滤波选不到合适的干净点。 3、因为正态分布的均值为零,所以均值滤波可以削弱噪声。

第 10 页 共 12 页

六、参考文献

1《数字图像处理》 电子工业出版社 贾长虹 2003

2《数字图像处理(Matlab版)》 电子工业出版社 冈萨雷斯 2006 3《MATLAB在数字信号处理中的应用》 清华大学出版社 薛年喜 2003 4《MATLAB数字图像处理》 机械工业出版社 刘刚 2010

第 11 页 共 12 页

本文来源:https://www.bwwdw.com/article/7a83.html

Top