图像平滑的Matlab实现20101602310035黄汉杰摘要随着图像处理领域的迅速发展,图像平滑作为图像处理中的重要环节,也逐渐受到人们的关注。图像平滑的目的主要是消除噪声。图像平滑方法按空间域和频率域的分类及各种方法的特点,图像平滑是对图像作低通滤波,可在空间域或频率域实现。空间域图像平滑方法主要用均值滤波、中值滤波等;频率域图像平滑常用的低通滤波器有理想低通滤波器、布特沃斯低通滤波器、低通指数滤波器、低通梯形滤波器等。关键词:图像平滑;噪声;空间域低通滤波;频域低通滤波引言:(1)在图像的获取和传输过程中原始图像会受到各种噪声的干扰,使图像质量下降。为了抑制噪声、改善图像质量,要对图像进行平滑处理。抑制或消除这些噪声而改善图像质量的过程称为图像的平滑。图像平滑的目的是为了消除噪声。噪声消除的方法又可以分为空间域或频率域,亦可以分为全局处理或局部处理,亦可以按线性平滑、非线性平滑和自适应平滑来区别。图像的平滑是一种实用的数字图像处理技术,一个较好的平滑处理方法应该既能消除图像噪声,又不使图像边缘轮廓和线条变模糊,这就是研究数字图像平滑处理要追求的目标。一般情况下,减少噪声的方法可以在空间域或频率域进行处理,主要有邻域平均法、中值滤波法、低通滤波法等,邻域平均法即通过提高信噪比,取得较好的平滑效果;空间域低通滤波采用低通滤波的方法去除噪声;以及频域低通滤波法通过除去其高频分量就能去掉噪声,从而使图像得到平滑。(2)本设计将对图像平滑处理的两大方面即空间域和频率域,以及两种处理方向里的几种处理方法进行介绍,并对一些常用的简单平滑算法进行分析。(3)图像平滑主要是为了消除被污染图像中的噪声,这是遥感图像处理研究的最基本内容之一,被广泛应用于图像显示、传输、分析、动画制作、媒体合成等多个方面。该技术是出于人类视觉系统的生理接受特点而设计的一种改善图像质量的方法。处理对象是在图像生成、传输、处理、显示等过程中受到多种因素扰动形成的加噪图像。在图像处理体系中,图像平滑是图像复原技术针对“一幅图像中唯一存在的退化是噪声”时的特例。1.论文目的1.1通过几种图像平滑的方法,实现被噪声污染过的图像的平滑处理,其中包括空间域和频率域;1.2在加深对数字图像处理课本知识理解的基础上,学会运用已学的知识对图像平滑的处理方法的结果进行分析。2.理论及方案(1)图像噪声来源及类型一幅图像在获取和传输等过程中,会受到各种各样噪声的干扰,其主要来源有三:一为在光电、电磁转换过程中引入的人为噪声;二为大气层电(磁)暴、闪电、电压、浪涌等引起的强脉冲性冲激噪声的干扰;三为自然起伏性噪声,由物理量的不连续性或粒子性所引起,这类噪声又可分成热噪声、散粒噪声等。一般在图像处理技术中常见的噪声有:加性噪声、乘性噪声、量化噪声、“盐和胡椒”噪声等。下面介绍两种主要的噪声。2.1.1、高斯噪声(Gaussiannoise)这种噪声主要来源于电子电路噪声和低照明度或高温带来的传感器噪声,也称为正态噪声,是在实践中经常用到的噪声模型。高斯随机变量z的概率密度函数(PDF)由下式给出:}2/)(exp{2/1)(22zzp其中,z表示图像像元的灰度值;μ表示z的期望;σ表示z的标准差。2.1.2、椒盐噪声(salt&peppernoise)主要来源于成像过程中的短暂停留和数据传输中产生的错误。其PDF为:其他0)(bzpbazpazp如果ba,灰度值b在图像中显示为一亮点,a值显示为一暗点。如果Pa和图像均不为零,在图像上的表现类似于随机分布图像上的胡椒和盐粉微粒,因此称为椒盐噪声。当Pa为零时,表现为“盐”噪声;当Pb为零时,表现为“胡椒”噪声。图像中的噪声往往是和信号交织在一起的尤其是乘性噪声,如果平滑不当,就会使图像本身的细节如边缘轮廓‘线条等模糊不清,从而使图像质量降低。(2)图像平滑的方法2.2.1空间域低通滤波1、均值滤波器均值滤波是典型的线性滤波算法,它是指在图像上对目标像素给一个模板,该模板包括了其周围的临近像素(以目标象素为中心的周围8个象素,构成一个滤波模板,即去掉目标象素本身)。再用模板中的全体像素的平均值来代替原来像素值。其表达式如下:snmnmfMyxg),(),(/1),(式中:x,y=0,1,2,…,N-1;s为(x,y)点领域中点的坐标的集合,但不包括(x,y)点;M为集合内坐标点的总数。2、中值滤波器中值滤波法是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值。)},({),(),(tsgmedianyxfxySys其中g(s,t)为原图像,),(yxf为处理后的图像,xys为二维模板,通常为2*2,3*3区域,也可以是不同的的形状,如线状,圆形,十字形,圆环形等。2.2.2频域低通滤波在频域中,低频主要对应图像在平滑区域的总体灰度级分布,而高频对应图像的细节部分,如边缘和噪声。因此,图像平滑可以通过衰减图像频谱中的高频部分来实现,这就建立了空间域图像平滑和频域低通滤波直接到的对应关系。低通滤波平滑图像的系统框图如下所示:图2-1图像频域低通滤波流程框图1.频域滤波的基本步骤:(1)计算原始图像f(x,y)的DFT,得到F(u,v).(2)将频谱F(u,v)的零频点移动到频谱图的中心位置。(3)计算滤波器函数H(u,v)与F(u,v)的乘积G(U,V)。(4)将频谱G(u,v)的零频点移回到频谱图的左上角位置。(5)计算上一步结果的傅里叶反变换g(x,y)。(6)取g(x,y)的实部作为最终滤波后的图像。2.理想低通滤波器(ILPF)如果图像的宽带为M,高度为N,那么理想低通滤波器可以形式化描述为:022022])2()2[(,1])2()2[(,0),(DNvMuDNvMuvuH式中0D是一个规定的非负的量,它叫做理想低通滤波器的截止频率。理想低通滤波器在处理过程中会产生较严重的模糊和振铃现象。3.布特沃斯低通滤波器(BLPF)截止频率位于距原点0D处的n阶布特沃斯低通滤波器(BLPF)的传递函数定义为:nDvuDvuH20]/),([11),(其中,2/122])2/()2/[(),(QvPuvuD,P为宽,Q为高。BLPF与ILPF不同,BLPF传递函数并没有在通过频率和滤除频率之间给出明显截止的尖锐的不连续性。因此它没有“振铃”现象发生,模糊程度减少,但从它的传递函数特性曲线H(u,v)可以看出,在它的尾部保留有较多的高频,所以对噪声的平滑效果还不如ILPF。4.高斯低通滤波器(GLPF)其传递函数表示为:222/),(),(vuDevuH对于相同的截止频率,GLPF与二阶BLPF相比,GLPF的平滑效果稍微差一点,但GLPF中没有振铃,这是实际中一个重要的特性,尤其是在任何类型的人工缺陷不可接受的情况下(例如医学成像)。所以在要求严格控制低频和高频之间截止频率的过渡的情况下,BLPF是更合适的选择。3.图像平滑处理具体过程3.1系统构架程序运行的环境是windows平台,并选用MATLAB作为编程开发工具,MATLAB是一种向量语言,它非常适合于进行图像处理。3.2模拟噪声图像图像增强操作主要是针对图像的各种噪声而言的,为了说明图像处理中的滤波方法和用途,需要模拟数字图像的各种噪声来分析滤波效果。MATLAB图像处理工具箱提供的噪声添加函数imnoise,它可以对图像添加一些典型的噪声。其语法:J=imnoise(I,type)J=imnoise(I,type,parameters)其功能是:返回对原图像I添加典型噪声的图像J,参数type和parameters用于确定噪声的类型和相应的参数。三种典型的噪声:type=’gaussian’时,为高斯噪声;type=’salt&pepper’时为椒盐噪声;type=’speckle’时为乘法噪声;图像数据读取函数imread从图像文件中读取图像数据。其基本调用格式如下:I=imread(文件名,’图像文件格式’)其功能是:将文件名指定的图像文件读入I中。I=imshow(A)其功能是显示图像A。如下程序就实现了3种噪声污染了的图像:I=imread('lena_AdaptiveMedianFilter.bmp');%读取图像I1=imnoise(I,'gaussian');%加高斯噪声I2=imnoise(I,'salt&pepper',0.02);%加椒盐噪声I3=imnoise(I,'speckle');%加乘性噪声subplot(2,2,1),imshow(I);%显示图像Ititle('源图像');subplot(2,2,2),imshow(I1);title('受高斯噪声污染的图像');subplot(2,2,3),imshow(I2);title('受盐椒噪声污染的图像');subplot(2,2,4),imshow(I3);title('受乘法噪声污染的图像');运行结果如下:图3-1噪声污染的图像结果分析:图3-1中受噪声污染的各图处理结果与源图像相比,图像有不同程度的模糊,其中受不同类型的噪声污染图像模糊程度不同。3.3均值滤波法在MATLAB图像处理工具箱中,提供了imfilter函数用于实现均值滤波,imfilter的语法格式为:B=imfilter(A,H)其功能是,用H模板对图像A进行均值滤波,取平均值滤波模版为H1=1/9[111;111;111];H2=1/25[11111;11111;11111;11111;11111];分别以这两个平均值滤波算子对图3-1中的四幅图像进行滤波操作。取H1,程序如下:I=imread('lena_AdaptiveMedianFilter.bmp');I1=imnoise(I,'gaussian');I2=imnoise(I,'salt&pepper',0.02);I3=imnoise(I,'speckle');H1=ones(3,3)/9;%3×3领域模板J=imfilter(I,H1);%领域平均J1=imfilter(I1,H1);J2=imfilter(I2,H1);J3=imfilter(I3,H1);subplot(2,2,1),imshow(J);title('源图像滤波后');subplot(2,2,2),imshow(J1);title('受高斯噪声污染图滤波后');subplot(2,2,3),imshow(J2);title('受盐椒噪声污染图滤波后');subplot(2,2,4),imshow(J3);title('受乘法噪声污染图滤波后');运行结果如下:图3-2经过平均值算子H1滤波后图像取H2,程序如下:I=imread('lena_AdaptiveMedianFilter.bmp');I1=imnoise(I,'gaussian');I2=imnoise(I,'salt&pepper',0.02);I3=imnoise(I,'speckle');H2=ones(5,5)/25;%5×5领域模板J=imfilter(I,H2);%领域平均J1=imfilter(I1,H2);J2=imfilter(I2,H2);J3=imfilter(I3,H2);subplot(2,2,1),imshow(J);title('源图像滤波后');subplot(2,2,2),imshow(J1);title('受高斯噪声污染图滤波后');subplot(2,2,3),imshow(J2);title('受盐椒噪声污染图滤波后');subplot(2,2,4),imshow(J3);title('受乘法噪声污染图滤波后');运行结果如图3-3:图3-3经过平均值算子H2滤波后图像结果分析:把图3-2与图3-3的图像结果之间进行比较后可知,领域平均处理后,图像的噪声得到了抑制,但在此同时也使图像变得相对模糊,对高斯噪声的平滑效果比较好。领域平均法的平滑效果与所