基于matlab的图像高斯噪声和椒盐噪声的滤除目录摘要第一章高斯平滑滤波的原理第二章试验要求及试验步骤设计2.1试验要求2.2试验步骤设计2.3结论参考文献摘要图像信号在产生、传输和记录的过程中,经常会受到各种噪声的干扰,噪声可以理解为妨碍人的视觉器官或系统传感器对所接收图像源信息进行理解或分析的各种元素。噪声对图像的输入、采集、处理的各个环节以及最终输出结果都会产生一定影响。图像去噪是数字图像处理中的重要环节和步骤。去噪效果的好坏直接影响到后续的图像处理工作如图像分割、边缘检测等。一般数字图像系统中的常见噪声主要有:高斯噪声(主要由阻性元器件内部产生)、椒盐噪声(主要是图像切割引起的黑图像上的白点噪声或光电转换过程中产生的泊松噪声)等。我们平常使用的滤波方法一般有均值滤波、中值滤波和维纳滤波,他们分别对某种噪声的滤除有较好的效果,但对于同时存在高斯噪声和椒盐噪声的图像处理的效果可能不会太好,在这里我们分别用多种方法对图像噪声进行处理,对比使用效果。关键词:图像去噪、常见噪声、多种方法、使用效果。绪论20世纪20年代,图像处理首次得到应用。上个世纪60年代中期,随着计算机科学的发展和计算机的普及,图像处理得到广泛的应用。60年代末期,图像处理技术不断完善,逐渐成为一个新兴的学科。图像处理中输入的是质量低的图像,输出的是改善质量后的图像。为了改善图像质量,从图像中提取有效信息,必须对图像进行去噪预处理。根据噪声频谱分布的规律和统计特征以及图像的特点,出现了多种多样的去噪方法。经典的去噪方法有:空域合成法,频域合成法和最优合成法等,与之适应的出现了许多应用方法,如均值滤波器,中值滤波器,低通滤波器,维纳滤波器,最小失真法等。这些方法的广泛应用,促进数字信号处理的极大发展,显著提高了图像质量。一幅原始图像在获取和传输过程中会受到各种噪声的干扰,使图像质量下降,对分析图像不利。反映到图像画面上,主要有两种典型的噪声。一种是幅值基本相同,但出现的位置随机的椒盐噪声,另一种则每一点都存在,但幅值随机分布的随机噪声。为了抑制噪声、改善图像质量,要对图像进行平滑处理。图像平滑处理的方法多种多样,有邻域平均、中值滤波,高斯滤波、灰度最小方差的均值滤波等。第一章高斯平滑滤波的原理高斯滤波是根据高斯函数的形状来选择权值的线性平滑滤波器。高斯平滑滤波器对去除服从正态分布的噪声是很有效果的。一维零均值高斯函数为。其中,高斯分布参数决定了高斯滤波器的宽度。对图像来说,常用二维零均值离散高斯函数作平滑滤波器,函数表达式如下:式(1)高斯函数具有5个重要性质:(1)二维高斯函数具有旋转对称性,即滤波器在各个方向上的平滑程度是相同的。一般来说一幅图像的边缘方向是不知道的。因此,在滤波之前是无法确定一个方向比另一个方向上要更多的平滑的。旋转对称性意味着高斯滤波器在后续的图像处理中不会偏向任一方向。(2)高斯函数是单值函数。这表明,高斯滤波器用像素邻域的加权均值来代替该点的像素值,而每一邻域像素点的权值是随着该点与中心点距离单调递减的。这一性质是很重要的,因为边缘是一种图像局部特征。如果平滑运算对离算子中心很远的像素点仍然有很大的作用,则平滑运算会使图像失真。(3)高斯函数的傅立叶变换频谱是单瓣的。这一性质是高斯函数傅立叶变换等于高斯函数本身这一事实的直接推论。图像常被不希望的高频信号所污染,而所希望的图像特征,既含有低频分量,又含有高频分量。高斯函数傅立叶变换的单瓣意味着平滑图像不会被不需要的高频信号所污染,同时保留了大部分所需要的信号。(4)高斯滤波器的宽度(决定着平滑程度)是由参数σ表证的,而且σ和平滑程度的关系是非常简单的。σ越大,高斯滤波器的频带就越宽,平滑程度就越好。通过调节平滑程度参数σ,可在图像特征分量模糊(过平滑)与平滑图像中由于噪声和细纹理所引起的过多的不希望突变量(欠平滑)之间取得折衷。(5)由于高斯函数的可分离性,大高斯滤波器可以有效实现。通过二维高斯函数的卷积可以分两步来进行,首先将图像与一维高斯函数进行卷积,然后将卷积的结果与方向垂直的相同一维高斯函数进行卷积。因此,二维高斯滤波的计算量随滤波模板宽度成线性增长而不是成平方增长。这些性质使得它在早期的图像处理中特别有用,表明高斯平滑滤波器无论在空间域还是在频率域都是十分有效的低通滤波器。高斯函数的可分离性很容易表示:式(2)式(3)式(4)在图像滤波中,常用的方法是线性滤波技术和非线性滤波技术,线性滤波以其完美的理论基础,数学处理简单、易于采用和硬件实现等优点,一直在图像滤波领域中占有重要地位。第二章试验要求及试验步骤设计2.1试验要求高斯滤波实验结果,分析与总结以下即为本课题研究的主要内容及要求:a.使用imread()读入原始的彩色图像。b.用imnoise()在灰度图像中加入椒盐噪声。c.利用高斯滤波A1=fspecial('gaussian',k,n3)%生成高斯序列Y1=filter2(A2,g)/255用生成的高斯序列进行滤波。d.显示滤波后的图像。在MATLAB里运行程序:ClearCloseallA1=imread('F:/1.bmp');A2=imnoise(A1,'salt&pepper',0.05);n=input('请输入高斯滤波器的均值\n');k=input('请输入高斯滤波器的方差\n');A3=fspecial('gaussian',k,n3);%生成高斯序列Y1=filter2(A3,g)/255;%用生成的高斯序列进行滤波2.2试验步骤设计1.均值滤波对同时含有高斯和椒盐噪声的图像的处理: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);forn=1:aform=1:bI2(n+1,m+1)=I(n,m);end;end;forn=2:aform=2:bI3(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,3);imshow(uint8(I3));title('3*3均值滤波以后');[a,b]=size(I);I4=zeros(a+4,b+4);I5=zeros(a,b);forn=1:aform=1:bI4(n+2,m+2)=I(n,m);end;end;forn=3:aform=3:bI5(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均值滤波以后');图一:加入椒盐噪声处理前后的图像图二:高斯噪声处理前后的图像2.3结论在图像处理过程中,消除图像的噪声干扰是一个非常重要的问题,本文利用matlab软件,采用高斯滤波的方式,对带有椒盐噪声的图像进行处理,经过滤波后的图像既适合人眼的视觉感觉又能够消除图像中的干扰影响。通过本次试验我们可以看到高斯滤波对于滤除图像的“椒盐”噪声非常有效,它可以做到既去除噪声又能保护图像的边缘,从而获得较满意的复原效果,尤其在滤除叠加白噪声和长尾叠加噪声方面显出极好的性能。一、对于椒盐噪声,中值滤波效果比均值滤波效果好。原因:1、椒盐噪声是幅值近似相等但随机分布在不同的位置上,图像中有干净点也有污染点。2、中值滤波是选择适当的点来代替污染点的值,所以处理效果好。3、因为噪声的均值不为零,所以均值滤波不能很好地去除噪声点。二、对于高斯噪声,均值滤波效果比中值滤波效果好。原因:1、高斯噪声是幅值近似正态分布,但分布在每点像素上。2、因为图像中的每点都是污染点,所以中值滤波选不到合适的干净点。3、因为正态分布的均值为零,所以均值滤波可以削弱噪声。参考文献:[1]张志涌精通MATLAB6.5版教程,北京航天航空大学出版社.2003(56)[2]胡鹏,徐会燕.基于matlab的图像去噪算法的研究与实现《福建电脑》.2009(12)[3]李彦军,苏红旗等.改进的中值滤波图像去噪方法研究《计算机工程与设计》.2009(12)[4]孙宏琦,施维颖,巨永峰.利用中值滤波进行图像处理《长安大学学报(自然科学版)》.2003(2)[5]周建兴,MATLAB从入门到精通.人民邮电出版社.2008(60)总结与体会起初收到课题时感到很无措,通过临时抱佛脚对matlab中的运用有了一些基本的的认识。由于现在大家都已经是大四的了,都在各自的忙着找工作或者考研,所以这次课程设计的时间也比较仓促,也未能做一些深入的了解,只是在老师的指导下和同学们的相互帮助之下,借助书籍和去网络上搜索的一些相关的文章才克服了很多困难最后完成课程。与此同时我也了解到自己所学的知识只不过是一些非常基本的东西,完成的设计也不过是一些最基础的而已。明白自己以后应该更加丰富自己。开阔自己的视野。经过本次课程设计,我不仅仅在书上学到的知识得到了巩固,而且还在设计过程中拓展了其他没有学过的知识。这次的课程设计从查找资料,到确定方案,最后再到用软件仿真,我们组都团结协作,互相帮助,并且得到老师的关怀。我们以前学习的知识都渐渐离我们远去,甚至不知道、不清楚哪些知识该用到哪些地方,什么时候用。这次课程设计,通过小组的积极交流学习终于完成任务,也感觉到只有把所学的东西运用到实际时才会发现真心很难,也只有这样才真正理解所学知识。