对同时含有椒盐噪声和高斯噪声的消噪处理_第1页
对同时含有椒盐噪声和高斯噪声的消噪处理_第2页
对同时含有椒盐噪声和高斯噪声的消噪处理_第3页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、燕山大学课程设计说明书题目:同时含有椒盐噪声和高斯噪声的图像消噪处理学院(系):里仁学院年级专业:09工业自动化仪表学号:091203021061学生姓名:姚宁指导教师:赵彦涛程淑红教帅职称:讲帅副教授院(系):电气工程学院基层教学单位:白动化仪表系学号091203021061学生姓名姚宁专业(班级)09仪表1班设计题目同时含有椒盐噪声和局斯噪声的消噪处理设计技术参数要求设计出一种能问时消除图像中含有椒盐噪声和高斯噪声的方法并实现设计要求对于同时含有椒盐噪声和高斯噪声的图像,如何能更好的消除其噪声。对一副图像用函数问时加入椒盐噪声和局斯噪声,并设计出一种能问时消除这两种噪声的方法,并实现。积极

2、思考其他消噪方法,设计中应具有白己的设计思想、设计体会。工作量一周工作计戈U一周的时间:周一:分析题目,确立方向,构思结构,查阅资料。周二到周三:编程,运行,测试及调试。周四:整理资料、程序和图片,撰写设计说明书。周五:答辩。参考资料1、贾永红?数字图像处理(第二版)?武汉:武汉大学出版社?2010,22、冈萨雷斯?数字图像处理(Matlab).电子工业出版社,20063、楼顺天.MATLAB5.X程序设计语言.西安:西安电子科技大学出版社,2000指导教师签字基层教学单位主任签字说明:此表一式四份,学生、指导教师、基层教学单位、系部各一份2012年6月29日指导教师评语:正确完香兀吾认真较为

3、合理合理工作态度较认真理论分析庆方法设计旗不认真较差成绩:指导教师:2012年6月29日答辩小组评语:清晰正确设计结论廿工十必基本掌握基本正确原理了解不清楚不正确成绩:评阅人:2012年6月29日课程设计总成绩:答辩小组成员签字2012年6月29日目录第一章摘要1第二章引言2第三章噪声的特性3第四章对图像的消噪处理4中值滤波4维纳滤波8中值滤波与维纳滤波的结合10第五章学习心得14第六章参考文献15同时含有椒盐噪声和高斯噪声的消噪处理、摘要本文研究的是对同时含有椒盐噪声和高斯噪声的消噪处理。首先,本文对高斯噪声和椒盐噪声作出解释,从根本是理解高斯噪声和椒盐噪声,并用图像生动形象的解释这两种噪声

4、产生的影响,如正文中图1所示。对图像的消噪处理时,有均值滤波,中值滤波,维纳滤波,超限像素平滑法等方法,在这里我们选取中值滤波和维纳滤波进行分析。一、中值滤波:选取一个窗口,并对窗口中的像素灰度值进行排序,用中间值代替窗口中心的像素值。其消噪效果如文中图2和图3所示。由图中我们可以看到中值滤波对图像中的椒盐噪声有很好的滤除效果,并能较好的保留图像的边缘,但对图像中的高斯噪声的滤波效果不是很理想。二、维纳滤波:运用维纳滤波的方法进行滤波时,我们可以根据他的原理进行编程滤波,也可以直接运用维纳滤波的函数wiener2(a)进行滤波。其运行结果如文中图4所示。由图中我们可以发现维纳滤波能够很好地滤去

5、高斯噪声,但对椒盐噪声的滤波效果不是很理想。所以我们采用将这两种方法结合起来,来对同时还有椒盐噪声和高斯噪声的图像进行滤波。三、中值维纳滤波:首先我们将图像中的像素点按一定的条件分为椒盐噪声点和信号点,然后对椒盐噪声点进行中值滤波,信号点保留,最后再对整个图像进行维纳滤波,其结果如图5所示。从图中我们可以看出中值维纳滤波对图像的处理想过还是挺理想的。关键字:椒盐噪声高斯噪声中值滤波维纳滤波中值维纳滤波二、弓I目数字图像的噪声主要来源于图像的获取(数字化过程)和传输过程。图像传感器的工作情况受各种因素的影响,如图像获取中的环境条件和传感元器件白身的质量。例如,使用CCDg像机获取图像,光照强度和

6、传感器温度是生成图像中产生大量噪声的主要因素。图像在传输过程中主要由于所用的传输信道的干扰受到噪声污染。比如,通过无线网络传输的图像可能会因为光或其他大气因素的的干扰被污染。噪声不仅仅严重影响人们观赏图像时的视觉效果,还有可能影响边缘检测、图像分割、特征提取、模式识别等后续更高层的处理结果,因此采用适当的方法尽量减少噪声时一个非常重要的预处理步骤。在实际生活中,最常见的为高斯噪声和脉冲噪声(椒盐噪声)两类,所以去除这两类噪声是非常需要的。本文通过对这两种噪声的去噪方法进行了根本的分析和研究,并用Matlab进行了编程和调试,最终确定出最优的去噪方案,简单易懂,深入浅出。为今后的研究提供了相关的

7、参考资料和编程,具有深刻的研究意义!、噪声的特性实际生活中最常见的是高斯噪声和脉冲噪声(椒盐噪声),下面便分别对这两种解释做出解释和比较。1、高斯噪声高斯噪声是指噪声的概率密度函数服从高斯分布(即正态分布)的一类噪声,这种噪声经常被用于实践中高斯随机变量Z的PDF(概率密度函数)由下式给出)2/22p(z)式中,z表示灰度值,表示Z的平均值或期望值,表示Z的标准差,2称为z的万差。2、脉冲噪声(双极)脉冲噪声的PDFW由下式给出:p(z)zb其他(2)如果ba,灰度值b在图像中将显示为0个亮点,相反,a的值将显示为一个暗点。如果Pa和Fb为零,则脉冲噪声称为单极脉冲。如果Pa和Pb均不可能为零

8、,尤其是它们近似相等时,脉冲噪声值将类似于随机分布在图像上的胡椒和盐粉微粒,因此双机脉冲噪声也称为椒盐噪声。在这,我们研究的是椒盐脉冲。椒盐噪声是由图像传感器,传输信道,声。椒盐噪声往往由图像切割引起的。解码处理等产生的黑白相间的亮暗点噪在实际生活中,这两种噪声一般都是同时存在的为了更形象,清楚的了解椒盐噪声和高斯噪声对图像的影响,我们运用认识一下椒盐噪声和高斯噪声以及椒盐、序如下所示:其程Matlab,对一个图像进行加噪处理,分高斯同时存在时,反映在图像上的效果。clear;clc;l=imread('Miss512G.bmp');a,b=size(l);figuresubp

9、lot(2,2,1);imshow(l);title(J=imnoise(l,'salt&pepper''灰白原图');,0.02);subplot(2,2,2);imshow(J);title(G=imnoise(l,'gaussian',0.02);'加椒盐噪声后的图像);subplot(2,2,3);imshow(G);title('加高斯噪声后的图像);K=imnoise(J,'gaussian',0.02);subplot(2,2,4);imshow(K);title(其运行结果如图1所示:加椒盐

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

11、的灰度值。将窗口向右移一列,在进行步骤。到图像的有边缘后,向下移一行从左往右依次进行步骤和步骤。运用Matlab进行编程,程序如下所示:clear;clc;l=imread('Miss512G.bmp');a,b=size(l);figuresubplot(2,2,1);imshow(l);title(J=imnoise(l,'salt&pepper'K=imnoise(J,'gaussian',0.02);a,b=size(K);subplot(2,2,2);imshow(K);title(%3*3中值滤波fori=1:aforj=1:

12、bif(i=1|i=a|j=1|j=b)G(i,j)=K(i,j);elsetemp(1)=K(i-1,j-1);temp(2)=K(i-1,j);temp(3)=K(i-1,j+1);temp=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);endendendsubplot(2,2,3);imshow(G);title(%5*5中值滤波fori=1:a'灰白原图);,0.02);加

13、椒盐噪声和高斯噪声后的图像%取3*3的窗口%按升序排序%取中间值'3*3中值滤波后的图像);forj=1:bif(i=1|i=2|i=a_1|i=a|j=1|j=2|j=b_1|j=b)G5(i,j)=K(i,j);elsetemp(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=K(i-1,j-1);temp(8)=K(i-1,j);temp(9)=K(i-1,j+1);temp(10)=K(i-1,j+2);

14、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+1);temp(25)=K(i+2,j+2);temp=sort(temp);

15、G5(i,j)=temp(13);endendendsubplot(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=medfilt2(K,11,11);subpl

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

17、,此时我们选择7*7的窗口。由上图,我们还可以得出:中值滤波对高斯噪声也有一定的消除,但是效果不是很理想,所以我们可以选取另一种方法来进行滤波,看能否达到消去高斯噪声的效果。在这,我们选取维纳滤波法4.2、维纳滤波维纳滤波是在逆滤波的基础上进行图像复原,是最小均方误差滤波。运用维纳滤波时,我们需要选择一个合适的退化模型,在这里我们设图像的退化模型为:k(ua/2)2(vb/2)2)5/6H(u,v)e式中的a和b分别是退化后图像矩阵的行数和列数。在这里我们取我们k0.0025。这样,便可以得到恢复后图像的傅里叶变换为:F?(u,v).212H(u,v)|G(u,v)H(u,v)H(u,v)S(

18、u,v)/Sf(u,v)(4)2式中S(u,v)N(u,v)是噪声的功率谱,Sf(u,v)2F(u,v)是未退化模型的功率谱G(u,v)是退化图像的变换。当处理高斯噪声时,谱|N(u,v)是-个常数,并且未退化图像的功率谱很少是已知的。当这些值未知或不能估计时,经常使用下面表达式近似表示:F?(u,v)H(u,v)H(u,v)H(u,v)K2一G(u,v)(5)式中K是一个特殊常量,我们可以带入任意值,选出效果最好时的K的值。求出F?(u,v)Matlab进行编程,程序如下后,再对它进行傅里叶逆变换便可得到恢复后的图像。运用所示:clear;clc;l=imread('Miss512G

19、.bmp');a,b=size(l);figuresubplot(2,2,1);imshow(l);title('灰白原图');J=imnoise(l,'salt&pepper',0.02);K=imnoise(J,'gaussian',0.02);a,b=size(K);subplot(2,2,2);imshow(K);title('加椒盐噪声和高斯噪声后的图像);k=0.0025;foru=1:aforv=1:bq=(u-a/2)A2+(v-b/2)A2;H(u,v)=exp(-k*qA(5/6);H0(u,v)=(a

20、bs(H(u,v)f2;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(l3);title('维纳滤波复原图');考虑到其消噪的效果及伴随的模糊状况,最终确定K0.18.或直接运用Matlab中的维纳滤波函数wiener2来进行对加噪后(与中值滤波加相同的椒盐噪声和高斯噪声)的图像进行消噪处理,程序如下所示:G=wiener2(K,3,3);figuresubplot(2,2,1);i

21、mshow(G);title('8*8维纳滤波");F=wiener2(K,7,7);subplot(2,2,2);imshow(F);title('9*9维纳滤波J;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所示:8*8维纳滤波9*9维纳滤波10*10维纳滤波11*11维纳滤波由图中,我们可以发现维纳滤波方法

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

23、噪声进行维纳滤波达到预期的效果。而区分噪声点时,由于椒盐噪声的特性,我们可以知道椒盐噪声点的灰度值与其他像素点有明显的区别,一般是其邻域中的灰度极值点(正的或负的)。所以在一幅图像中,如果一个像素点的灰度值远大于或远小于其邻域点的灰度值,也就是说该像素点与其邻域的点的相关性很小时,我们便分为这个点被污染了。否则,则认为这个点是有效信号点。所以我们可通过下式来区分椒盐噪声点和信号点:NXjjmin(WAj)ormax(Wx0)Xj(6)Smin(WXj)xijmax(Wxij)式中N为椒盐噪声点,S为信号点,minWXj为所选窗口内的最小灰度值,maxWXj为窗口内的最大灰度值。按以上标准对所有

24、像素进行分类,设丫言丁表示输出图像,那么便可设:中值滤波(WXjj)xijNyijXijXijS得出中值滤波的图像后在对它进行维纳滤波,运用Matlab,其编程如下所示:clear;clc;l=imread('Miss512G.bmp');a,b=size(l);figuresubplot(2,2,1);imshow(I);title('灰白原图');J=imnoise(l,'salt&pepper',0.02);K=imnoise(J,'gaussian',0.02);a,b=size(K);subplot(2,2,2)

25、;imshow(K);title('加椒盐噪声和高斯噪声后的图像');fori=1:aforj=1:bif(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);elsetemp(1)=K(i-3,j-3);temp(2)=K(i-3,j-2);temp(3)=K(i-3,j-1);temp(44)=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

26、,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);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

27、(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);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(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=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论