图像平滑方法综述与MATLAB实现

潇洒哥
983次浏览
2020年03月26日 12:36
最佳经验
本文由作者推荐
椒盐

姓名 学号 成绩 张宇 152210501104 江苏科技大学 数字图像处理本科生课程论文 论文题目:图像平滑方法综述与MATLAB实现 月20日 完成时间:2018年11 所在专业:信息与计算科学 所在年级:1522105011 1

图像平滑方法综述与MATLAB实现 摘要:在图像的生成、传输或变换的过程中,由于多种因素的影响,总要造成图像质量的下降,这就需要进行图像增强。随着图像处理领域的迅速发展,图像平滑作为图像增强的重要环节,也逐渐受到人们的关注。图像平滑的目的为了消除噪声。图像平滑可以在空间域进行,也可以在频率域进行。空间域常用的方法有领域平均法、中值滤波和多图像平均法;在频率域,因为噪声频谱多在高频段,因此可以采用各种形式的低通滤波方法进行平滑处理。 关键词:图像平滑;消除噪声;领域平均法;中值滤波;低通滤波法……… 1 研究背景 总所周知,实际获得的图像在形成、传输接收和处理的过程中,不可避免地存在着外部干扰和内部干扰,如光电转换过程中敏感元件灵敏度的不均匀性、数字化过程中的量化噪声、传输过程中的误差以及人为因素等,均会使图像质量变差,需要进行图像的平滑处理。 图像平滑是一种实用的熟悉图像处理技术,一个较好的平滑处理方法应该既能消除图像噪声,又不使图像边缘轮廓和线条变模糊,这就是研究数字图形平滑处理要追求的目标。 2.主要理论概况 2.1 邻域平均法 邻域平均法就是对含噪声的原始图像f(x,y)的每一个像素点取一个邻域S,计算S中所有像素灰度级的平均值,作为邻域平均处理后的图像g(x,y)的像素值。即 g(x,y)1M(i,j)Sf(i,j) 式中,S是预先确定的邻域(不包括(x,y)),M为邻域S中像素的点数。 图像平滑的直观效果是图像的噪声得以消除或衰减,但同时图像变得比以前模糊了,特别是图像边缘和细节部分,并且所选的邻域半径越大平滑效果越强,图像就越模糊。 为了减轻这种效应,可以采用阈值法,即根据下列准则对图像进行平滑: 1

11f(i,j),f(x,y)g(x,y)M(i,j)SMf(x,y),其他(i,j)Sf(i,j)M 式中,T是预先设定的阈值,当某些点的灰度值与其邻域点灰度平均值之差不超过阈值T时,仍保留这些点的灰度值。当某些点的灰度值与其邻点灰度的均值差别较大时,这些点必然是噪声,这时再取其邻域平均值作为这些点的灰度点。这样平滑后的图像比单纯的进行邻域平均后的图像要清晰一些,平滑效果仍然很好。 2.2 中值滤波 中值滤波是一种非线性处理技术,由于它在实际运算过程中并不需要知道图像的统计特性,所以比较方便。中值滤波最初是应用在一维信号处理技术中,后来被二维的图像处理技术所引用。在一定条件下,中值滤波可以克服线性滤波器所带来的图像细节模糊,而且对滤波除脉干扰及图像扫描噪声非常有效。但是对一些细节多,特别是点、线、尖顶较多的图像则不宜采用中值滤波的方法。中值滤波的目的是保护图像边缘的同时去除噪声。 2.2.1 中值滤波的主要原理 中值滤波实际上就是用一个含有奇数个像素的滑动窗口,将窗口正中点的灰度值用窗口内各点的中值代替。例如若窗口长度为5,窗口中像素的灰度值分别为80、90、200、110、120,则中值为110,于是原来窗口正中的200就由110代替。 设有一个一维序列f1,f2,...,fn,用窗口长度为m(m为奇数)的窗口对该序列进行中值滤波,就是从序列f1,f2,...,fn中相继抽出m个数fiv,...,fi1,fi,fi1,...,fiv,m1,再将这m个点的值按其数值大小排列,取其序2号为正中间的那个值作为滤波器的输出。用数学公式可表示为 m1 YiMed{fiv,,fi,,fiv} iZ,v2其中fi为窗口中心值,v对二维序列{Xij}进行中值滤波时,滤波窗口也是二维的,只不过这种二维窗口可以有各种不同的形状,如线状、方形,圆形、十字形和圆环形等。二维数据的中值滤波可以表示为 YijMed{Xij}A为窗口 A2.2.2 中值滤波的主要特性 (1)对某些输入信号中值滤波具有不变性。对某些特定的输入信号,中值滤波的输出保持输入信号值不变。 2

(2)中值滤波去噪声性能。中值滤波可以用来减弱随机干扰和脉冲干扰。 2.3 频域低通滤波法 图像的边缘以及噪声干扰在图像的频域上对应于图像傅里叶变换中的高频部分,以去掉噪声使图像平滑。 根据信号系统的理论,低通滤波法的一半形式可以写为 G(u,v)H(u,v)F(u,v) 式中F(u,v)是含噪图像的傅里叶变换;G(u,v)是平滑后图像的傅里叶变换;H(u,v)是传递函数。利用H(u,v)和F(u,v)的高频分量得到衰减,得到G(u,v)后再经过傅里叶反变换就可以得到所希望的图像g(x,y)。低通滤波法的系统框架图如下图所示。 FFT f(x,y) F(x,y) 低通滤波器G(x,y) H(u,v) IFFT g(x,y) 低通滤波法的系统框图 选择不同的H(u,v)可以不同的平滑效果。常用的传递函数由4种,分述如下。 (1)理想低通滤波器(ILPF)一个理想的低通滤波器的传递函数由下式表示: 1,D(u,v)D0 H(u,v)0,D(u,v)D0式中,D0是一个事先设置的非负量,成为理想低通滤波器的截止频率;D(u,v)代表从频率平面的原点到(u,v)点的距离,即 D(u,v)u2v2 (2)巴特沃斯低通滤波器(BLPF)一个n阶巴特沃斯滤波器的传递系数为 H(u,v)1D(u,v)1D02n 或 H(u,v)1D(u,v)1(21)D03 2n

(3)指数低通滤波器(ELPF)指数低通滤波器的传递函数H(u,v)表示为 D(u,v)D0nH(u,v)e 或 H(u,v)eD(u,v)ln2D0n (4)梯形低通滤波器(TLBF)梯形 1,D(u,v)D01H(u,v)[D(u,v)D1],D0D(u,v)D1DD100,D(u,v)D1 在规定D0和D1时,要满足D0D1的条件。一般为了方便起见,把H(u,v)的第一个转折点D0定义为截止频率,第二个变量D0可以任意选取,只要满足D0D1的条件就可以了。 3.研究的主要内容 3.1 均值滤波 lc=imread('D:\数字图像处理\图片一.jpg'); I=rgb2gray(lc); J1=imnoise(I,'gaussian',0,0.02); K1=im2double(J1); h1=fspecial('average',3); h2=fspecial('average',5); h3=fspecial('average',7); G1=filter2(h1,K1,'same'); G2=filter2(h2,K1,'same'); G3=filter2(h3,K1,'same'); subplot(3,3,1);imshow(lc); xlabel('原图'); subplot(3,3,2);imshow(J1); 4

xlabel('添加高斯噪声后的图像'); subplot(3,3,3);imshow(G1); xlabel('3*3均值滤波后的图像'); subplot(3,3,4);imshow(G2); xlabel('5*5均值滤波后的图像'); subplot(3,3,5);imshow(G3); xlabel('7*7均值滤波后的图像'); J2= imnoise(I,'salt & pepper',0.02); K2=im2double(J2); h=fspecial('average'); G4=filter2(h,K2,'same'); subplot(3,3,6);imshow(J2); xlabel('添加椒盐噪声'); subplot(3,3,7);imshow(G1); xlabel('均值滤波'); J3 = imnoise(I,'speckle',0.02); K3=im2double(J3); h=fspecial('average'); G5=filter2(h,K3,'same'); subplot(3,3,8);imshow(J3); xlabel('添加乘性噪声'); subplot(3,3,9);imshow(G5); xlabel('均值滤波'); 5

图3-1添加高斯噪声、椒盐噪声、乘性噪声及均值滤波后的图片 分析结果: 从图3-1中我们可以看出,邻域平均处理后,图像的噪声得到了抑制,但在此同时也使图像变得相对模糊,对高斯噪声的平滑效果比较好。邻域平均法的平滑效果与所选用的模板大小有关,模板尺寸越大,图像的模糊程度越大,因此在处理图像时要根据不同的目的,而选择不同的模板大小来平滑图像。 3.2 中值滤波 lc=imread('D:\数字图像处理\图片一.jpg'); I=rgb2gray(lc); J1=imnoise(I,'gaussian',0,0.02); K1=im2double(J1); h1=fspecial('average',3); h2=fspecial('average',5); h3=fspecial('average',7); G1=medfilt2(K1,[3,3]); 6

G2=medfilt2(K1,[5,5]); G3=medfilt2(K1,[7,7]); subplot(3,3,1);imshow(lc); xlabel('原图'); subplot(3,3,2);imshow(J1); xlabel('添加高斯噪声后的图像'); subplot(3,3,3);imshow(G1); xlabel('3*3中值滤波后的图像'); subplot(3,3,4);imshow(G2); xlabel('5*5中值滤波后的图像'); subplot(3,3,5);imshow(G3); xlabel('7*7中值滤波后的图像'); J2= imnoise(I,'salt & pepper',0.02); K2=im2double(J2); h=fspecial('average'); G4=medfilt2(K2); subplot(3,3,6);imshow(J2); xlabel('添加椒盐噪声'); subplot(3,3,7);imshow(G4); xlabel('中值滤波'); J3 = imnoise(I,'speckle',0.02); K3=im2double(J3); h=fspecial('average'); G5=medfilt2(K3); subplot(3,3,8);imshow(J3); xlabel('添加乘性噪声'); subplot(3,3,9);imshow(G5); xlabel('中值滤波'); 7

图3-2添加高斯噪声、椒盐噪声、乘性噪声及中值滤波后的图片 结果分析: 从图3-2中我们可以看出,中值滤波对椒盐噪声滤波效果最好,对乘性噪声滤波效果一般,对高斯噪声滤波效果最差,所以中值滤波最适合椒盐噪声滤波。因为中值滤波是一种非线性滤波。它利用一个含有奇数个像素滑动窗口,将窗口内正中点的灰度值用窗口内各点的中值代替。由于椒盐噪声是脉冲噪声,它的灰度值不是正中,所以可以被直接滤除,而点线等较多的图像或者随机噪声图像(如高斯图像)的图像中,有信号可能不在正中间,所以中值滤波可能会滤除这些信号,会使信号损失。 3.3 均值滤波 close all; Q=0.4; figure Ic=imread('C:\数字图像处理\图片一.jpg'); I=rgb2gray(Ic); subplot(3,3,1); 8

imshow(I);title('原图像'); x1=imnoise(I,'gaussian',0,0.02); x2= imnoise(I,'salt & pepper',0.02); x3 = imnoise(I,'speckle',0.02); F=fft2(x1); M=size(F,1); N=size(F,2); u=0:M-1; v=0:N-1; idx=find(u>M/2);%找到大于M/2的数据 u(idx)=u(idx)-M; idy=find(v>N/2); v(idy)=v(idy)-N; [V,U]=meshgrid(v,u); D=sqrt(U.^2+V.^2); H=double(D<=size(F,1)/2*Q); G=F.*H; g=real(ifft2(G)); F2=fft2(x2); M2=size(F2,1); N2=size(F2,2); u2=0:M2-1; v2=0:N2-1; idx2=find(u2>M2/2);%找到大于M2/2的数据 u2(idx2)=u2(idx2)-M2; idy2=find(v2>N2/2); v2(idy2)=v2(idy2)-N2; [V2,U2]=meshgrid(v2,u2); D2=sqrt(U2.^2+V2.^2); H2=double(D2<=size(F2,1)/2*Q); 9

G2=F2.*H2; g2=real(ifft2(G2)); F3=fft2(x3); M3=size(F3,1); N3=size(F3,2); u3=0:M3-1; v3=0:N3-1; idx3=find(u3>M3/2);%找到大于M3/2的数据 u3(idx3)=u3(idx3)-M3; idy3=find(v3>N3/2); v3(idy3)=v3(idy3)-N3; [V3,U3]=meshgrid(v3,u3); D3=sqrt(U3.^2+V3.^2); H3=double(D3<=size(F3,1)/2*Q); G3=F3.*H3; g3=real(ifft2(G3)); subplot(3,3,2); imshow(x1);title('加入高斯噪声后的图像'); subplot(3,3,3); imshow(uint8(g));title('理想低通滤波后的图像'); subplot(3,3,4); imshow(x1);title('加入椒盐噪声后的图像'); subplot(3,3,5); imshow(uint8(g));title('理想低通滤波后的图像'); subplot(3,3,6); imshow(x1);title('加入乘性噪声后的图像'); subplot(3,3,7); imshow(uint8(g));title('理想低通滤波后的图像'); 10

图3-3添加高斯噪声、椒盐噪声、乘性噪声及低通滤波后的图片 结果分析: 从图3-3中可以看出频率低通滤波具有更好的选择性,对各种污染过图像的噪声在一定范围内也可以起到抑制作用,同时也对图像的边缘细节和高频信息分量有更好的保持作用。使得图像在轮廓上显得更加清晰。 4. 小结 课程总结: 图像平滑目的是消除噪声,使图像变得清晰。平滑是图像处理中一个重要的方面,由于图像受到干扰而产生噪声的原因是多方面的,在对一幅图像进行平滑处理前,必须仔细分析其产生噪声的原因,只有这样才能选择合适的平滑方法,才能既消除图像噪声,又不使图像边缘轮廓或线条变模糊,经过这样的处理后,图像更符合人的视觉特性。随着数字图像处理的广泛应用,一些在人工智能、控制领域中成熟或前沿的数学模型如神经网络、模糊数学、自适应控制等相关技术在数字图像处理中逐渐采用,从而使建立的图像处理数学模型效率更高、性能更好。这些方法在不同程度上增强了去噪效果,但也带来了运算复杂、适用面窄等缺点。所以我们在选择消除噪声方法时,必须综合考虑各种因素,选择最适合的 11

平滑方法。 个人总结: 通过本次论文设计,不仅强化了自己原有的知识体系,而且提高了我对图像学的实践能力。对数字图像输了这门课程也有了更深一步的认识,也扩展了自己的思维。通过Matlab程序的编写与比较,认识到不同方法对图像的去噪效果是不同的。不同的平滑算法适应于特定类型的噪声模型,实际应用中应该根据实际图像中包含的噪声情况灵活地选取适当的平滑算法。本论文设计是一个通过思考、发问、自己解惑并动手、提高的过程。我会在以后的学习中不断学习,积累经验,完善自己。 参考文献: [1] 张弘. 数字图像处理与分析. 北京 : 机械工业出版社,2017.6 [2] (美)伍兹等著.阮秋琦等译.数字图像处理(第三版).北京:电子工业出版社,2011.06 [3] 平丽.图像平滑处理方法的比较研究.信息技术,2010.01 12

椒盐