同时含有椒盐噪声和高斯噪声的消噪处理课程设计.doc

上传人:laozhun 文档编号:3027963 上传时间:2023-03-09 格式:DOC 页数:17 大小:508.50KB
返回 下载 相关 举报
同时含有椒盐噪声和高斯噪声的消噪处理课程设计.doc_第1页
第1页 / 共17页
同时含有椒盐噪声和高斯噪声的消噪处理课程设计.doc_第2页
第2页 / 共17页
同时含有椒盐噪声和高斯噪声的消噪处理课程设计.doc_第3页
第3页 / 共17页
同时含有椒盐噪声和高斯噪声的消噪处理课程设计.doc_第4页
第4页 / 共17页
同时含有椒盐噪声和高斯噪声的消噪处理课程设计.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《同时含有椒盐噪声和高斯噪声的消噪处理课程设计.doc》由会员分享,可在线阅读,更多相关《同时含有椒盐噪声和高斯噪声的消噪处理课程设计.doc(17页珍藏版)》请在三一办公上搜索。

1、燕山大学课 程 设 计 说 明 书题目:同时含有椒盐噪声和高斯噪声的图像消噪处理燕山大学课程设计(论文)任务书院(系): 电气工程学院 基层教学单位: 自动化仪表系 学 号091203021061学生姓名专业(班级)设计题目同时含有椒盐噪声和高斯噪声的消噪处理设计技术参数 要求设计出一种能同时消除图像中含有椒盐噪声和高斯噪声的方法并实现设计要求 对于同时含有椒盐噪声和高斯噪声的图像,如何能更好的消除其噪声。对一副图像用函数同时加入椒盐噪声和高斯噪声,并设计出一种能同时消除这两种噪声的方法,并实现。积极思考其他消噪方法,设计中应具有自己的设计思想、设计体会。工作量 一周工作计划一周的时间: 周一

2、:分析题目,确立方向,构思结构,查阅资料。周二到周三:编程,运行,测试及调试。周四:整理资料、程序和图片,撰写设计说明书。周五:答辩。参考资料1、 贾永红.数字图像处理(第二版).武汉:武汉大学出版社,2010,22、 冈萨雷斯.数字图像处理(Matlab).电子工业出版社,20063、 楼顺天.MATLAB 5.x程序设计语言.西安:西安电子科技大学出版社,2000指导教师签字基层教学单位主任签字说明:此表一式四份,学生、指导教师、基层教学单位、系部各一份。目录第一章 摘要1 第二章 引言2 第三章 噪声的特性3 第四章 对图像的消噪处理4 4.1 中值滤波4 4.2 维纳滤波8 4.3 中

3、值滤波与维纳滤波的结合10 第五章 学习心得14 第六章 参考文献15同时含有椒盐噪声和高斯噪声的消噪处理一、摘要本文研究的是对同时含有椒盐噪声和高斯噪声的消噪处理。首先,本文对高斯噪声和椒盐噪声作出解释,从根本是理解高斯噪声和椒盐噪声,并用图像生动形象的解释这两种噪声产生的影响,如正文中图1 所示。对图像的消噪处理时,有均值滤波,中值滤波,维纳滤波,超限像素平滑法等方法,在这里我们选取中值滤波和维纳滤波进行分析。一、中值滤波:选取一个窗口,并对窗口中的像素灰度值进行排序,用中间值代替窗口中心的像素值。其消噪效果如文中图2和图3所示。由图中我们可以看到中值滤波对图像中的椒盐噪声有很好的滤除效果

4、,并能较好的保留图像的边缘,但对图像中的高斯噪声的滤波效果不是很理想。二、维纳滤波:运用维纳滤波的方法进行滤波时,我们可以根据他的原理进行编程滤波,也可以直接运用维纳滤波的函数wiener2(a)进行滤波。其运行结果如文中图4所示。由图中我们可以发现维纳滤波能够很好地滤去高斯噪声,但对椒盐噪声的滤波效果不是很理想。所以我们采用将这两种方法结合起来,来对同时还有椒盐噪声和高斯噪声的图像进行滤波。三、中值维纳滤波:首先我们将图像中的像素点按一定的条件分为椒盐噪声点和信号点,然后对椒盐噪声点进行中值滤波,信号点保留,最后再对整个图像进行维纳滤波,其结果如图5所示。从图中我们可以看出中值维纳滤波对图像

5、的处理想过还是挺理想的。关键字:椒盐噪声 高斯噪声 中值滤波 维纳滤波 中值维纳滤波二、引言 数字图像的噪声主要来源于图像的获取(数字化过程)和传输过程。图像传感器的工作情况受各种因素的影响,如图像获取中的环境条件和传感元器件自身的质量。例如,使用CCD摄像机获取图像,光照强度和传感器温度是生成图像中产生大量噪声的主要因素。图像在传输过程中主要由于所用的传输信道的干扰受到噪声污染。比如,通过无线网络传输的图像可能会因为光或其他大气因素的的干扰被污染。噪声不仅仅严重影响人们观赏图像时的视觉效果,还有可能影响边缘检测、图像分割、特征提取、模式识别等后续更高层的处理结果,因此采用适当的方法尽量减少噪

6、声时一个非常重要的预处理步骤。在实际生活中,最常见的为高斯噪声和脉冲噪声(椒盐噪声)两类,所以去除这两类噪声是非常需要的。本文通过对这两种噪声的去噪方法进行了根本的分析和研究,并用Matlab进行了编程和调试,最终确定出最优的去噪方案,简单易懂,深入浅出。为今后的研究提供了相关的参考资料和编程,具有深刻的研究意义!三、噪声的特性实际生活中最常见的是高斯噪声和脉冲噪声(椒盐噪声),下面便分别对这两种解释做出解释和比较。1、高斯噪声高斯噪声是指噪声的概率密度函数服从高斯分布(即正态分布)的一类噪声,这种噪声经常被用于实践中。高斯随机变量的PDF(概率密度函数)由下式给出: (1)式中,表示灰度值,

7、表示的平均值或期望值,表示的标准差,称为的方差。2、脉冲噪声 (双极)脉冲噪声的PDF可由下式给出: (2)如果,灰度值在图像中将显示为一个亮点,相反,的值将显示为一个暗点。如果和为零,则脉冲噪声称为单极脉冲。如果和均不可能为零,尤其是它们近似相等时,脉冲噪声值将类似于随机分布在图像上的胡椒和盐粉微粒,因此双机脉冲噪声也称为椒盐噪声。在这,我们研究的是椒盐脉冲。椒盐噪声是由图像传感器,传输信道,解码处理等产生的黑白相间的亮暗点噪声。椒盐噪声往往由图像切割引起的。在实际生活中,这两种噪声一般都是同时存在的。为了更形象,清楚的了解椒盐噪声和高斯噪声对图像的影响,我们运用Matlab,对一个图像进行

8、加噪处理,分别认识一下椒盐噪声和高斯噪声以及椒盐、高斯同时存在时,反映在图像上的效果。其程序如下所示:clear;clc;I=imread(Miss512G.bmp);a,b=size(I);figuresubplot(2,2,1);imshow(I);title(灰白原图);J=imnoise(I,salt & pepper,0.02);subplot(2,2,2);imshow(J);title(加椒盐噪声后的图像);G=imnoise(I,gaussian,0.02);subplot(2,2,3);imshow(G);title(加高斯噪声后的图像);K=imnoise(J,gaussi

9、an,0.02);subplot(2,2,4);imshow(K);title(加椒盐噪声和高斯噪声后的图像);其运行结果如图1所示:图1四、对图像的消噪处理对含有椒盐噪声和高斯噪声的图像进行消噪预处理时,有许多方法,例如均值滤波,中值滤波,超限像素平滑法及维纳滤波等,在这里,我们先选用中值滤波的方法。4.1、中值滤波它是对一个滑动窗口内的诸像素灰度值进行排序,用中间值代替窗口中心像素的灰度值的滤波方法。它是一种非线性的平滑法,在抑制噪声的同时能有效保护边缘少受模糊。实现中值滤波的步骤如下所示: 选择一个规格的窗口,如3*3的矩形窗口,放入图像(灰度值矩阵)的左上角。 将窗口中的灰度值进行升序

10、(降序)排列,用排在中间的灰度值来代替窗口中心的灰度值。 将窗口向右移一列,在进行步骤。到图像的有边缘后,向下移一行从左往右依次进行步骤和步骤。运用Matlab进行编程,程序如下所示:clear;clc;I=imread(Miss512G.bmp);a,b=size(I);figuresubplot(2,2,1);imshow(I);title(灰白原图);J=imnoise(I,salt & pepper,0.02);K=imnoise(J,gaussian,0.02);a,b=size(K);subplot(2,2,2);imshow(K);title(加椒盐噪声和高斯噪声后的图像);%3

11、*3中值滤波for i=1:a for j=1:b if(i=1|i=a|j=1|j=b) G(i,j)=K(i,j); else temp(1)=K(i-1,j-1);%取3*3的窗口 temp(2)=K(i-1,j); temp(3)=K(i-1,j+1); temp(4)=K(i,j-1); temp(5)=K(i,j); temp(6)=K(i,j+1); temp(7)=K(i+1,j-1); temp(8)=K(i+1,j); temp(9)=K(i+1,j+1); temp=sort(temp);%按升序排序 G(i,j)=temp(5);%取中间值 end endendsubp

12、lot(2,2,3);imshow(G);title(3*3中值滤波后的图像);%5*5中值滤波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 temp(1)=K(i-2,j-2); temp(2)=K(i-2,j-1); temp(3)=K(i-2,j); temp(4)=K(i-2,j+1); temp(5)=K(i-2,j+2); temp(6)=K(i-1,j-2); temp(7)=K(i-1,j-1); temp(8)=K(i-1,j); temp(9)=K(i-1,j

13、+1); temp(10)=K(i-1,j+2); temp(11)=K(i,j-2); temp(12)=K(i,j-1); temp(13)=K(i,j); temp(14)=K(i,j+1); temp(15)=K(i,j+2); temp(16)=K(i+1,j-2); temp(17)=K(i+1,j-1); temp(18)=K(i+1,j); temp(19)=K(i+1,j+1); temp(20)=K(i+1,j+2); temp(21)=K(i+2,j-2); temp(22)=K(i+2,j-1); temp(23)=K(i+2,j); temp(24)=K(i+2,j+

14、1); temp(25)=K(i+2,j+2); temp=sort(temp); G5(i,j)=temp(13); end endendsubplot(2,2,4);imshow(G5);title(5*5中值滤波后的图像);其运行后的结果如图2所示。我们还可以直接运用中值滤波的函数进行Matlab滤波,由于当选取7*7和11*11大的窗口时,按上述方法编程的程序很长,从而增加了工作量,所以我们可直接用中值滤波的函数medfilt2(a),进行中值滤波。程序如下所示:g=medfilt2(K,7,7);subplot(1,2,1);imshow(g);title(7*7中值滤波后的图像)g

15、=medfilt2(K,11,11);subplot(1,2,2);imshow(g);title(11*11中值滤波后的图像)其运行结果如图3所示:图2图3由上图中的3*3、5*5、7*7和11*11窗口的滤波效果,我们可以从中看到中值滤波能有效地消除椒盐噪声,并且随着窗口大小的增加,滤波效果越好。但是随着中值滤波,图像也变得模糊起来。所以当窗口增大到一定值之后,虽然也起到了去噪的效果,但是图像会变得过于模糊,不利于图片观赏。所以对于窗口大小的确定,我们可以由小到大的逐次选取滤波,选出效果最好时的窗口,此时我们选择7*7的窗口。 由上图,我们还可以得出:中值滤波对高斯噪声也有一定的消除,但是

16、效果不是很理想,所以我们可以选取另一种方法来进行滤波,看能否达到消去高斯噪声的效果。在这,我们选取维纳滤波法。4.2、维纳滤波维纳滤波是在逆滤波的基础上进行图像复原,是最小均方误差滤波。运用维纳滤波时,我们需要选择一个合适的退化模型,在这里我们设图像的退化模型为: (3)式中的和分别是退化后图像矩阵的行数和列数。在这里我们取。这样,我们便可以得到恢复后图像的傅里叶变换为: (4)式中是噪声的功率谱,是未退化模型的功率谱。是退化图像的变换。当处理高斯噪声时,谱是一个常数,并且未退化图像的功率谱很少是已知的。当这些值未知或不能估计时,经常使用下面表达式近似表示: (5)式中是一个特殊常量,我们可以

17、带入任意值,选出效果最好时的的值。求出后,再对它进行傅里叶逆变换便可得到恢复后的图像。运用Matlab进行编程,程序如下所示:clear;clc;I=imread(Miss512G.bmp);a,b=size(I);figuresubplot(2,2,1);imshow(I);title(灰白原图);J=imnoise(I,salt & pepper,0.02);K=imnoise(J,gaussian,0.02);a,b=size(K);subplot(2,2,2);imshow(K);title(加椒盐噪声和高斯噪声后的图像);k=0.0025; for u=1:a for v=1:b q

18、=(u-a/2)2+(v-b/2)2; H(u,v)=exp(-k*q(5/6); H0(u,v)=(abs(H(u,v)2; H1(u,v)=H0(u,v)/(H(u,v)*(H0(u,v)+c); endendF0=fftshift(fft2(K);F2=H1.*F0;I3=ifft2(fftshift(F2);subplot(2,2,3);imshow(uint8(I3);title(维纳滤波复原图);考虑到其消噪的效果及伴随的模糊状况,最终确定.或直接运用Matlab中的维纳滤波函数wiener2来进行对加噪后(与中值滤波加相同的椒盐噪声和高斯噪声)的图像进行消噪处理,程序如下所示:G

19、=wiener2(K,3,3);figuresubplot(2,2,1);imshow(G);title(8*8维纳滤波);F=wiener2(K,7,7);subplot(2,2,2);imshow(F);title(9*9维纳滤波);F=wiener2(K,10,10);subplot(2,2,3);imshow(F);title(10*10维纳滤波);F=wiener2(K,14,14);subplot(2,2,4);imshow(F);title(11*11维纳滤波);其运行结果如图4所示:图4由图中,我们可以发现维纳滤波方法能够有效的滤去高斯噪声,并且随着窗口的增大,其滤波效果越好。

20、但随着窗口的增大,也伴随着图像的模糊,所以选择9*9的窗口其滤波效果最好。虽然维纳滤波也能消去椒盐噪声,但其效果并不是很理想。4.3、中值滤波和维纳滤波的结合由图2和图3,我们发现中值中值滤波能够滤除图像中的椒盐噪声,并能很好的保留图像的边缘。从图4中,可以得出维纳滤波则能较好的去除高斯噪声。所以,对于同时含有椒盐噪声和高斯噪声的图像进行消噪处理时,我们可以想办法使这两个程序结合起来,从而达到对这两种噪声均能较好的去噪的效果。对图像进行去噪时,如果我们能够区分出椒盐噪声和高斯噪声污染的点,那就可以分别对椒盐噪声运用中值滤波,然后对高斯噪声进行维纳滤波达到预期的效果。而区分噪声点时,由于椒盐噪声

21、的特性,我们可以知道椒盐噪声点的灰度值与其他像素点有明显的区别,一般是其邻域中的灰度极值点(正的或负的)。所以在一幅图像中,如果一个像素点的灰度值远大于或远小于其邻域点的灰度值,也就是说该像素点与其邻域的点的相关性很小时,我们便分为这个点被污染了。否则,则认为这个点是有效信号点。所以我们可通过下式来区分椒盐噪声点和信号点: (6)式中为椒盐噪声点,为信号点,为所选窗口内的最小灰度值,为窗口内的最大灰度值。按以上标准对所有像素进行分类,设表示输出图像,那么便可设: (7)得出中值滤波的图像后在对它进行维纳滤波,运用Matlab,其编程如下所示:clear;clc;I=imread(Miss512

22、G.bmp);a,b=size(I);figuresubplot(2,2,1);imshow(I);title(灰白原图);J=imnoise(I,salt & pepper,0.02);K=imnoise(J,gaussian,0.02);a,b=size(K);subplot(2,2,2);imshow(K);title(加椒盐噪声和高斯噪声后的图像);for i=1:a for j=1:b if(i=1|i=2|i=3|i=a-2|i=a-1|i=a|j=1|j=2|j=3|j=b-2|j=b-1|j=b) G(i,j)=K(i,j); else temp(1)=K(i-3,j-3);

23、temp(2)=K(i-3,j-2); temp(3)=K(i-3,j-1); temp(4)=K(i-3,j); temp(5)=K(i-3,j+1); temp(6)=K(i-3,j+2); temp(7)=K(i-3,j+3); temp(8)=K(i-2,j-3); temp(9)=K(i-2,j-2); temp(10)=K(i-2,j-1); temp(11)=K(i-2,j); temp(12)=K(i-2,j+1); temp(13)=K(i-2,j+2); temp(14)=K(i-2,j+3); temp(15)=K(i-1,j-3); temp(16)=K(i-1,j-2

24、); temp(17)=K(i-1,j-1); temp(18)=K(i-1,j); temp(19)=K(i-1,j+1); temp(20)=K(i-1,j+2); temp(21)=K(i-1,j+3); temp(22)=K(i,j-3); temp(23)=K(i,j-2); temp(24)=K(i,j-1); temp(25)=K(i,j); temp(26)=K(i,j+1); temp(27)=K(i,j+2); temp(28)=K(i,j+3); temp(29)=K(i+1,j-3); temp(30)=K(i+1,j-2); temp(31)=K(i+1,j-1);

25、temp(32)=K(i+1,j); temp(33)=K(i+1,j+1); temp(34)=K(i+1,j+2); temp(35)=K(i+1,j+3); temp(36)=K(i+2,j-3); temp(37)=K(i+2,j-2); temp(38)=K(i+2,j-1); temp(39)=K(i+2,j); temp(40)=K(i+2,j+1); temp(41)=K(i+2,j+2); temp(42)=K(i+2,j+3); temp(43)=K(i+3,j-3); temp(44)=K(i+3,j-2); temp(45)=K(i+3,j-1); temp(46)=K

26、(i+3,j); temp(47)=K(i+3,j+1); temp(48)=K(i+3,j+2); temp(49)=K(i+3,j+3); temp=sort(temp); N=temp(1); M=temp(49); if(K(i,j)=M|K(i,j)=N) G(i,j)=temp(25); else G(i,j)=K(i,j); end end endendF=wiener2(G,9,9);subplot(2,2,3);imshow(F);title(中值维纳滤波后的图像);其运行后的结果如图5所示:图5由图5可以看出中值滤波和维纳滤波结合后对同时含有椒盐噪声和高斯噪声的图像的滤波效

27、果还是相当可以的。由于在实际生活中,图像里往往是椒盐噪声和高斯噪声同时出现的,所以对于能同时消去椒盐噪声和高斯噪声的方法的研究是非常必要的。并且本文中的中值维纳滤波方法对这两种噪声的消噪处理效果还是比较理想的。五、学习心得通过这次为期一周的课程设计,感觉自己受益匪浅。无论是对知识的理解和应用,还是实验过程中自我遇到问题时解决问题的信心、恒心以及同学间的相互鼓励、支持和帮助。这次课程设计的题目比较具有针对性,不仅使我对理论知识掌握的更加准确,更使我将理论知识运用到了实践生活中去,成功的完成了对图像的消噪处理。在课程设计的过程中,为了实现某一功能,我们便需要进行编程,然后在Matlab中进行运行和

28、调试。在这过程中遇到岑出不穷的问题,我们便查询资料,了解该软件的用法以及相关函数的用法及功能。经过此次课程设计,我认识到,知识只有会用才是真正意义上的学会,只有在不断的遇到问题与解决问题间自己才能不断地进步。这进一步说明我们并不能只是单纯的学习理论知识,还应该加强实践,只有这样,自己的专业能力才会有质的提高。总之,这次的课程设计给予了我不同的学习方法和体验,让我深切的认识到实践的重要性,使我受益匪浅。在以后的学习过程中,我会更加注重自己的操作能力和应变能力,提高自己对MATLAN的 运用能力,全面学习,全面发展!六、参考文献1 贾永红数字图像处理(第二版)武汉:武汉大学出版社,2010,22 冈萨雷斯数字图像处理(Matlab)电子工业出版社,20063 楼顺天.MATLAB 5.x程序设计语言.西安:西安电子科技大学出版社,2000,44 杨辉,唐建锋衡阳师范学院学报2011,第32卷,第6期

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教育教学 > 成人教育


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号