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

下载本文档

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

文档简介

1、 燕山大学课 程 设 计 说 明 书题目(tm):同时(tngsh)含有椒盐噪声和高斯噪声的图像消噪处理学院(xuyun)(系): 里仁学院 年级专业:09工业自动化仪表学 号: 091203021061 学生姓名: 姚宁 指导教师: 赵彦涛 程淑红 教师职称: 讲师 副教授 燕山大学课程设计(论文(lnwn))任务书院(系): 电气(dinq)工程学院 基层(jcng)教学单位: 自动化仪表系 学 号091203021061学生姓名姚宁专业(班级)09仪表1班设计题目同时含有椒盐噪声和高斯噪声的消噪处理设计技术参数 要求设计出一种能同时消除图像中含有椒盐噪声和高斯噪声的方法并实现设计要求 对

2、于同时含有椒盐噪声和高斯噪声的图像,如何能更好的消除其噪声。对一副图像用函数同时加入椒盐噪声和高斯噪声,并设计出一种能同时消除这两种噪声的方法,并实现。积极思考其他消噪方法,设计中应具有自己的设计思想、设计体会。工作量 一周工作计划一周的时间: 周一:分析题目,确立方向,构思结构,查阅资料。周二到周三:编程,运行,测试及调试。周四:整理资料、程序和图片,撰写设计说明书。周五:答辩。参考资料贾永红.数字图像处理(第二版).武汉:武汉大学出版社,2010,2冈萨雷斯.数字图像处理(Matlab).电子工业出版社,2006楼顺天.MATLAB 5.x程序设计语言.西安:西安电子科技大学出版社,200

3、0指导教师签字基层教学单位主任签字说明:此表一式(y sh)四份,学生、指导教师、基层教学单位、系部各一份。2012年6月29日 燕山大学课程设计评审(pn shn)意见表指导教师评语:成绩: 指导教师: 2012年 6月29 日答辩小组评语: 成绩: 评阅人: 2012年 6月 29 日课程设计总成绩:答辩小组成员签字: 2012年 6月 29 日燕 山 大 学 课 程 设 计 说 明 书 共 15 页 第 PAGE 20页目录(ml)第一章 摘要(zhiyo)1 第二章 引言(ynyn)2 第三章 噪声的特性3 第四章 对图像的消噪处理4 4.1 中值滤波4 4.2 维纳滤波8 4.3 中

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

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

6、所示。从图中我们可以看出中值维纳滤波对图像的处理想过还是挺理想的。关键字:椒盐噪声 高斯噪声 中值滤波 维纳滤波 中值维纳滤波二、引言(ynyn) 数字图像的噪声(zoshng)主要来源于图像的获取(数字化过程)和传输过程。图像传感器的工作情况受各种因素的影响,如图像获取中的环境条件和传感元器件自身的质量。例如,使用CCD摄像机获取图像,光照强度和传感器温度是生成图像中产生(chnshng)大量噪声的主要因素。图像在传输过程中主要由于所用的传输信道的干扰受到噪声污染。比如,通过无线网络传输的图像可能会因为光或其他大气因素的的干扰被污染。噪声不仅仅严重影响人们观赏图像时的视觉效果,还有可能影响边

7、缘检测、图像分割、特征提取、模式识别等后续更高层的处理结果,因此采用适当的方法尽量减少噪声时一个非常重要的预处理步骤。在实际生活中,最常见的为高斯噪声和脉冲噪声(椒盐噪声)两类,所以去除这两类噪声是非常需要的。本文通过对这两种噪声的去噪方法进行了根本的分析和研究,并用Matlab进行了编程和调试,最终确定出最优的去噪方案,简单易懂,深入浅出。为今后的研究提供了相关的参考资料和编程,具有深刻的研究意义!三、噪声(zoshng)的特性(txng)实际(shj)生活中最常见的是高斯噪声和脉冲噪声(椒盐噪声),下面便分别对这两种解释做出解释和比较。1、高斯噪声高斯噪声是指噪声的概率密度函数服从高斯分布

8、(即正态分布)的一类噪声,这种噪声经常被用于实践中。高斯随机变量的PDF(概率密度函数)由下式给出: (1)式中,表示灰度值,表示的平均值或期望值,表示的标准差,称为的方差。2、脉冲噪声 (双极)脉冲噪声的PDF可由下式给出: (2)如果,灰度值在图像中将显示为一个亮点,相反,的值将显示为一个暗点。如果和为零,则脉冲噪声称为单极脉冲。如果和均不可能为零,尤其是它们近似相等时,脉冲噪声值将类似于随机分布在图像上的胡椒和盐粉微粒,因此双机脉冲噪声也称为椒盐噪声。在这,我们研究的是椒盐脉冲。椒盐噪声是由图像传感器,传输信道,解码处理等产生的黑白相间的亮暗点噪声。椒盐噪声往往由图像切割引起的。在实际生

9、活中,这两种噪声一般都是同时存在的。为了更形象,清楚的了解椒盐噪声和高斯噪声对图像的影响,我们运用Matlab,对一个图像进行加噪处理,分别认识一下椒盐噪声和高斯噪声以及椒盐、高斯同时存在时,反映在图像上的效果。其程序如下所示:clear;clc;I=imread(Miss512G.bmp);a,b=size(I);figuresubplot(2,2,1);imshow(I);title(灰白(hubi)原图);J=imnoise(I,salt & pepper,0.02);subplot(2,2,2);imshow(J);title(加椒盐(jioyn)噪声后的图像);G=imnoise(I

10、,gaussian,0.02);subplot(2,2,3);imshow(G);title(加高斯(o s)噪声后的图像);K=imnoise(J,gaussian,0.02);subplot(2,2,4);imshow(K);title(加椒盐噪声和高斯噪声后的图像);其运行结果如图1所示:图1四、对图像的消噪处理对含有椒盐噪声和高斯噪声的图像进行消噪预处理时,有许多方法,例如均值滤波,中值滤波,超限像素平滑法及维纳滤波等,在这里,我们先选用中值滤波的方法。4.1、中值滤波它是对一个滑动(hudng)窗口内的诸像素灰度值进行排序,用中间值代替窗口中心像素的灰度值的滤波方法。它是一种非线性的

11、平滑法,在抑制噪声的同时能有效保护边缘少受模糊。实现(shxin)中值滤波的步骤如下所示: = 1 * GB3 选择一个规格的窗口(chungku),如3*3的矩形窗口,放入图像(灰度值矩阵)的左上角。 将窗口中的灰度值进行升序(降序)排列,用排在中间的灰度值来代替窗口中心的灰度值。 = 3 * GB3 将窗口向右移一列,在进行步骤。到图像的有边缘后,向下移一行从左往右依次进行步骤和步骤 = 3 * GB3 。运用Matlab进行编程,程序如下所示:clear;clc;I=imread(Miss512G.bmp);a,b=size(I);figuresubplot(2,2,1);imshow(

12、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*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);

13、 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);%按升序排序(pi x) G(i,j)=temp(5);%取中间(zhngjin)值 end endendsubplot(2,2,3);imshow(G);title(3*3中值滤波(lb)后的图像);%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

14、); 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+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(1

15、7)=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); G5(i,j)=temp(13); end endendsubplot(2,2,4);imshow(G5);title(5*5中值(zhn zh)滤波后的图像);其运行(ynxng)后的结果如图2所示。我们还

16、可以(ky)直接运用中值滤波的函数进行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);subplot(1,2,2);imshow(g);title(11*11中值滤波后的图像)其运行结果如图3所示:图2图3由上图中的3*3、5*5、7*7和11*11窗口(chungku)的滤波(lb)效果,我们(w

17、men)可以从中看到中值滤波能有效地消除椒盐噪声,并且随着窗口大小的增加,滤波效果越好。但是随着中值滤波,图像也变得模糊起来。所以当窗口增大到一定值之后,虽然也起到了去噪的效果,但是图像会变得过于模糊,不利于图片观赏。所以对于窗口大小的确定,我们可以由小到大的逐次选取滤波,选出效果最好时的窗口,此时我们选择7*7的窗口。 由上图,我们还可以得出:中值滤波对高斯噪声也有一定的消除,但是效果不是很理想,所以我们可以选取另一种方法来进行滤波,看能否达到消去高斯噪声的效果。在这,我们选取维纳滤波法。4.2、维纳滤波维纳滤波是在逆滤波的基础上进行图像复原,是最小均方误差滤波。运用维纳滤波时,我们需要选择

18、一个合适的退化模型,在这里我们设图像的退化模型为: (3)式中的和分别是退化后图像矩阵的行数和列数。在这里我们取。这样,我们便可以得到恢复后图像的傅里叶变换为: (4)式中是噪声(zoshng)的功率谱,是未退化模型(mxng)的功率谱。是退化图像(t xin)的变换。当处理高斯噪声时,谱是一个常数,并且未退化图像的功率谱很少是已知的。当这些值未知或不能估计时,经常使用下面表达式近似表示: (5)式中是一个特殊常量,我们可以带入任意值,选出效果最好时的的值。求出后,再对它进行傅里叶逆变换便可得到恢复后的图像。运用Matlab进行编程,程序如下所示:clear;clc;I=imread(Miss

19、512G.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=(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

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

21、er2(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由图中,我们可以发现维纳滤波方法能够有效的滤去高斯噪声,并且随着窗口的增大,其滤波效果越好。但随着窗口的增大,也伴随着图像的模糊,所以选择9*9的窗口其滤波效果最好。虽然维纳滤波也能消去椒盐噪声,但其效果并不是很理想。4.3、中

22、值滤波和维纳滤波的结合由图2和图3,我们发现中值中值滤波能够滤除图像中的椒盐噪声,并能很好的保留图像的边缘。从图4中,可以得出维纳滤波则能较好的去除高斯噪声。所以,对于同时含有椒盐噪声和高斯噪声的图像进行消噪处理时,我们可以想办法使这两个程序结合起来,从而达到对这两种噪声均能较好的去噪的效果。对图像进行去噪时,如果我们能够区分出椒盐噪声和高斯(o s)噪声污染的点,那就可以分别对椒盐噪声运用中值滤波,然后对高斯噪声进行维纳滤波达到预期的效果。而区分噪声点时,由于椒盐噪声的特性,我们可以知道椒盐噪声点的灰度值与其他像素点有明显的区别,一般是其邻域中的灰度极值点(正的或负的)。所以在一幅图像中,如

23、果一个像素点的灰度值远大于或远小于其邻域点的灰度值,也就是说该像素点与其邻域的点的相关性很小时,我们便分为这个(zh ge)点被污染了。否则,则认为这个点是有效信号点。所以我们可通过(tnggu)下式来区分椒盐噪声点和信号点: (6)式中为椒盐噪声点,为信号点,为所选窗口内的最小灰度值,为窗口内的最大灰度值。按以上标准对所有像素进行分类,设表示输出图像,那么便可设: (7)得出中值滤波的图像后在对它进行维纳滤波,运用Matlab,其编程如下所示:clear;clc;I=imread(Miss512G.bmp);a,b=size(I);figuresubplot(2,2,1);imshow(I)

24、;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); temp(2)=K(i-3,j-2); temp(3)=K(i-3,j-1); temp(4)=K

25、(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); temp(17)=K(i-1,j-1); temp(18)=K(i-1,j); temp(1

26、9)=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); temp(32)=K(i+1,j); temp(33)=K(i+1,j+1); temp(34)=

27、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=temp(49); if(K(i,j)=M|K(i,j)=N) G(i,j)=temp(25); else G(i,j)=

温馨提示

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

评论

0/150

提交评论