您好,欢迎访问三七文档
当前位置:首页 > 医学/心理学 > 医学现状与发展 > 图像平滑方法综述与MATLAB实现
1姓名张宇学号152210501104成绩江苏科技大学数字图像处理本科生课程论文论文题目:图像平滑方法综述与MATLAB实现完成时间:2018年11月20日所在专业:信息与计算科学所在年级:15221050111图像平滑方法综述与MATLAB实现摘要:在图像的生成、传输或变换的过程中,由于多种因素的影响,总要造成图像质量的下降,这就需要进行图像增强。随着图像处理领域的迅速发展,图像平滑作为图像增强的重要环节,也逐渐受到人们的关注。图像平滑的目的为了消除噪声。图像平滑可以在空间域进行,也可以在频率域进行。空间域常用的方法有领域平均法、中值滤波和多图像平均法;在频率域,因为噪声频谱多在高频段,因此可以采用各种形式的低通滤波方法进行平滑处理。关键词:图像平滑;消除噪声;领域平均法;中值滤波;低通滤波法………1研究背景总所周知,实际获得的图像在形成、传输接收和处理的过程中,不可避免地存在着外部干扰和内部干扰,如光电转换过程中敏感元件灵敏度的不均匀性、数字化过程中的量化噪声、传输过程中的误差以及人为因素等,均会使图像质量变差,需要进行图像的平滑处理。图像平滑是一种实用的熟悉图像处理技术,一个较好的平滑处理方法应该既能消除图像噪声,又不使图像边缘轮廓和线条变模糊,这就是研究数字图形平滑处理要追求的目标。2.主要理论概况2.1邻域平均法邻域平均法就是对含噪声的原始图像(,)fxy的每一个像素点取一个邻域S,计算S中所有像素灰度级的平均值,作为邻域平均处理后的图像(,)gxy的像素值。即(,)1(,)(,)ijSgxyfijM式中,S是预先确定的邻域(不包括(,)xy),M为邻域S中像素的点数。图像平滑的直观效果是图像的噪声得以消除或衰减,但同时图像变得比以前模糊了,特别是图像边缘和细节部分,并且所选的邻域半径越大平滑效果越强,图像就越模糊。为了减轻这种效应,可以采用阈值法,即根据下列准则对图像进行平滑:2(,)(,)11(,),(,)(,)(,)(,),ijSijSfijfxyfijMgxyMMfxy其他式中,T是预先设定的阈值,当某些点的灰度值与其邻域点灰度平均值之差不超过阈值T时,仍保留这些点的灰度值。当某些点的灰度值与其邻点灰度的均值差别较大时,这些点必然是噪声,这时再取其邻域平均值作为这些点的灰度点。这样平滑后的图像比单纯的进行邻域平均后的图像要清晰一些,平滑效果仍然很好。2.2中值滤波中值滤波是一种非线性处理技术,由于它在实际运算过程中并不需要知道图像的统计特性,所以比较方便。中值滤波最初是应用在一维信号处理技术中,后来被二维的图像处理技术所引用。在一定条件下,中值滤波可以克服线性滤波器所带来的图像细节模糊,而且对滤波除脉干扰及图像扫描噪声非常有效。但是对一些细节多,特别是点、线、尖顶较多的图像则不宜采用中值滤波的方法。中值滤波的目的是保护图像边缘的同时去除噪声。2.2.1中值滤波的主要原理中值滤波实际上就是用一个含有奇数个像素的滑动窗口,将窗口正中点的灰度值用窗口内各点的中值代替。例如若窗口长度为5,窗口中像素的灰度值分别为80、90、200、110、120,则中值为110,于是原来窗口正中的200就由110代替。设有一个一维序列12,,...,nfff,用窗口长度为m(m为奇数)的窗口对该序列进行中值滤波,就是从序列12,,...,nfff中相继抽出m个数11,...,,,,...,,iviiiivfffff其中if为窗口中心值,12mv,再将这m个点的值按其数值大小排列,取其序号为正中间的那个值作为滤波器的输出。用数学公式可表示为{,,,,}iiviivYMedfff1,2miZv对二维序列{}ijX进行中值滤波时,滤波窗口也是二维的,只不过这种二维窗口可以有各种不同的形状,如线状、方形,圆形、十字形和圆环形等。二维数据的中值滤波可以表示为{}ijijAYMedXA为窗口2.2.2中值滤波的主要特性(1)对某些输入信号中值滤波具有不变性。对某些特定的输入信号,中值滤波的输出保持输入信号值不变。3(2)中值滤波去噪声性能。中值滤波可以用来减弱随机干扰和脉冲干扰。2.3频域低通滤波法图像的边缘以及噪声干扰在图像的频域上对应于图像傅里叶变换中的高频部分,以去掉噪声使图像平滑。根据信号系统的理论,低通滤波法的一半形式可以写为(,)(,)(,)GuvHuvFuv式中(,)Fuv是含噪图像的傅里叶变换;(,)Guv是平滑后图像的傅里叶变换;(,)Huv是传递函数。利用(,)Huv和(,)Fuv的高频分量得到衰减,得到(,)Guv后再经过傅里叶反变换就可以得到所希望的图像(,)gxy。低通滤波法的系统框架图如下图所示。低通滤波法的系统框图选择不同的(,)Huv可以不同的平滑效果。常用的传递函数由4种,分述如下。(1)理想低通滤波器(ILPF)一个理想的低通滤波器的传递函数由下式表示:001,(,)(,)0,(,)DuvDHuvDuvD式中,0D是一个事先设置的非负量,成为理想低通滤波器的截止频率;(,)Duv代表从频率平面的原点到(,)uv点的距离,即22(,)Duvuv(2)巴特沃斯低通滤波器(BLPF)一个n阶巴特沃斯滤波器的传递系数为201(,)(,)1nHuvDuvD或201(,)(,)1(21)nHuvDuvDFFT低通滤波器IFFT4(3)指数低通滤波器(ELPF)指数低通滤波器的传递函数(,)Huv表示为0(,)(,)nDuvDHuve或0(,)ln2(,)nDuvDHuve(4)梯形低通滤波器(TLBF)梯形01010111,(,)1(,)[(,)],(,)0,(,)DuvDHuvDuvDDDuvDDDDuvD在规定0D和1D时,要满足01DD的条件。一般为了方便起见,把(,)Huv的第一个转折点0D定义为截止频率,第二个变量0D可以任意选取,只要满足01DD的条件就可以了。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);5xlabel('添加高斯噪声后的图像');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('均值滤波');6图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]);7G2=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('中值滤波');8图3-2添加高斯噪声、椒盐噪声、乘性噪声及中值滤波后的图片结果分析:从图3-2中我们可以看出,中值滤波对椒盐噪声滤波效果最好,对乘性噪声滤波效果一般,对高斯噪声滤波效果最差,所以中值滤波最适合椒盐噪声滤波。因为中值滤波是一种非线性滤波。它利用一个含有奇数个像素滑动窗口,将窗口内正中点的灰度值用窗口内各点的中值代替。由于椒盐噪声是脉冲噪声,它的灰度值不是正中,所以可以被直接滤除,而点线等较多的图像或者随机噪声图像(如高斯图像)的图像中,有信号可能不在正中间,所以中值滤波可能会滤除这些信号,会使信号损失。3.3均值滤波closeall;Q=0.4;figureIc=imread('C:\数字图像处理\图片一.jpg');I=rgb2gray(Ic);subplot(3,3,1);9imshow(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(uM/2);%找到大于M/2的数据u(idx)=u(idx)-M;idy=find(vN/2);v(idy)=v(idy)-N;[V,U]=meshgrid(v,u);D=sqrt(U.^2+V.^2);H=double(D=size(F,1)/2
本文标题:图像平滑方法综述与MATLAB实现
链接地址:https://www.777doc.com/doc-5581207 .html