1、第三章 图像增强及去噪技术图像增强及去噪技术是运用一系列技术手段改善图像数据中所承载的信息,清除图像中的无用信息,去除噪声,恢复有用信息,抑制不需要的变形或者增强某些对于后续处理来说比较重要的图像特征,将图像转化成一种更适合于人或计算机进行分析处理的形式。本章主要讲述图像的灰度增强、空间域图像去噪、频率域图像去噪、形态学滤波去噪技术和伪彩色图像增强等内容。,3.1 图像的灰度增强,图像的灰度增强是指通过一定的处理方法,提高图像中的亮 暗对比度,由此加大亮暗差异目标特征。由于描述一幅图像的灰度 级有限,因此图像的灰度增强处理的核心思路是通过抑制非重要目 标信息来增强重要目标信息。图像增强应用范围
2、广泛,这里主要介 绍图像灰度变换和直方图修正。,3.1.1图像灰度变换灰度变换按映射函数可分为线性、分段线性、非线性以及其他的灰度变化等多种形式。常见的灰度变换就是直接修改灰度的输入/输出映射关系。,1线性灰度变换 比例线性变换是对每个线性段逐个像素进行处理,它可将原图像灰度值动态范围按线性关系式扩展到指定范围或整个动态范围。假定给定的是两个灰度区间,如图(a)所示,原图像f(x,y)的灰度范围为a,b,希望变换后的图像g(x,y)的灰度扩展为c,d,根据线性方程式可得如式所示的线性变换:,即可把输入图像的某个亮度值区间a,b扩展为输出图像的亮度值区间c,d。采用比例线性灰度变换对图像每一个像
3、素灰度作线性拉伸,将有效地改善图像视觉效果。,若图像灰度在0M范围内,其中大部分像素的灰度级分布在区间a,b内,很小部分像素的灰度级超出此区间。为改善增强效果,对于图(b)的映射关系为:,注意:这种变换扩展了,b区间的灰度级,但是将小于和大于b范围内的灰度级分别被压缩为c和d,这样使图像灰度级在上述0 、b M两个范围内都各自变成c、d灰度级分布,从而截取了这两部分信息。,线性灰度变换关系,分段线性灰度变换,2分段线性灰度变换 为了突出图像中感兴趣的目标或者灰度区间,把线性灰度变换原理引申应用。将图像灰度区间分成两段乃至多段分别作线性变换称之为分段线性变换。 分段线性变换的优点是可以根据用户的
4、需要,拉伸特征物体的灰度细节,相对抑制不感兴趣的灰度级。采用分段线性法,可将需要的图像细节灰度级拉伸,增强对比度,将不需要的细节灰度级压缩。其数学表达式如下:,例3.1.1 灰度图像分段线性变换增强算法的实现 clc; clear all; X1=imread(cameraman.tif); % 读入原灰度图像 subplot(1,2,1),imshow(X1);title(原图); % 显示原灰度图像 f0=0;g0=0; % 分段直线的折线点赋值 f1=20;g1=10; f2=130;g2=180; f3=255;g3=255; r1=(g1-g0)/(f1-f0); % 第一段直线的斜
5、率 b1=g0-r1*f0; % 计算截距1 r2=(g2-g1)/(f2-f1); % 第二段直线的斜率 b2=g1-r2*f1; % 计算截距2 r3=(g3-g2)/(f3-f2); % 第三段直线的斜率,b3=g2-r3*f2; % 计算截距3 m,n=size(X1); for i=1:m for j=1:n f=X1(i,j); if(f=f1) % 显示变换后的图像,程序运行结果如图 (a)、(c)所示。,(a)分段线性变换 (b)原灰度图像 (c)变换后的图像 分段线性变换程序示例,3图像反转 图像反转是典型的灰度线性变换,就是使黑变白,使白变黑,将原始图像的灰度值进行翻转,使
6、输出图像的灰度随输入图像的灰度增加而减少。这种处理对增强嵌入在暗背景中的白色或灰色细节特别有效,尤其当图像中黑色为主要部分时效果明显。,(a)反变换关系 (b) 原图 (c)变换后的图像 图像反转的效果,由直线方程截斜式可知当k =-1,b=L-1时,其表达式为:,其中0,L-1是图像灰度级范围。,例 灰度图像反转的算法实现。 I=imread(kids.tif);% 读入原始图像 J=double(I); % 将图像矩阵转化为double类型 J=-J+(256-1); % 图像反转线性变换 H=uint8(J); % double数据类型转化为unit8数据类型 subplot(1,2,1
7、),imshow(I);title(原始图像);% 显示灰度原始图像 subplot(1,2,2),imshow(H);title(灰度反转后图像);% 显示灰度反转后图像 程序运行结果如图(c)所示。,4.灰度非线性变换,当用某些非线性函数,例如平方、对数、指数函数等作为映射函数时,可实现图像灰度的非线性变换。灰度的非线性变换简称非线性变换,是指由这样一个非线性单值函数所确定的灰度变换。,(1)对数变换,对数变换常用来扩展低值灰度,压缩高值灰度,这样可以使低值灰度的图像细节更容易看清,从而达到增强的效果。对数非线性变换映射函数如图(a)所示,其表达式为,式中,C为尺度比例常数。是为了避免对零
8、求对数。,(2)指数变换,指数变换的一般形式为,这里的、b、c是为了调整曲线位置和形状的参数。图(b)所示指数变换与对数变换正好相反,它可用来压缩低值灰度区域,扩展高值灰度区域,但由于与人的视觉特性不太相同,因此不常采用。,非线性变换映射函数,非线性变换映射函数,例 利用对数变换映射关系编写对数非线性变换程序 % 一幅图像进行对数变换的程序清单 I=imread(cameraman.tif); % 读入原始图像 J=double(I); % 将图形矩阵转化为double类型 J=40*(log(J+1); % 把图像进行对数变换 H=uint8(J); % double数据类型转化为unit8
9、数据类型 subplot(1,2,1), imshow(I); title(原始图像); % 显示对数变换前的图像 subplot(1,2,2), imshow(H);title(对数变换后); % 显示对数变换后的图像,对数变换前、后图像效果图,3.1.2 灰度直方图的定义,1.灰度直方图的定义设变量r代表图像中像素灰度级,在图像中,像素的灰度级可作归一化处理,这样r的值将限定在下述范围之内:0r1在灰度级中,r=0代表黑,r=1代表白。对于一幅给定的图像来说,每一个像素取得0, 1区间内的灰度级是随机的,也就是说,是一个随机变量。,3.1.2 灰度直方图的定义,在离散的形式下,用rk代表离
10、散灰度级,用P(rk)代表概 率密度函数,并且有下式成立:式中nk为图像中出现rk这种灰度的像素数,n是图像中像素总数,nk/n就是概率论中的频数,l是灰度级的总数目。在直角坐标系中作出rk与P(rk)的关系图形,就得到直方图,例 假设一个图像由一个44大小的二维数值矩阵构成,如图(a)所示,试写出图像的灰度分布,并画出图像的直方图。,灰度直方图计算示意图,经过统计图像中灰度值为0的像素有1个,灰度值为1的像素有1个,灰度值为6的像素有1个。由此得到图像的灰度分布如表所示,由表可得灰度直方图如图(b)所示。,图像的灰度分布,在图像直方图中,r代表图像中像素灰度级,若将其作归一化处理,r的值将限
11、定在0r1范围之内,在灰度级中,r=0代表黑,r=1代表白。对于一幅给定的图像来说,每一个像素取得0,1区间内的灰度级是随机的,也就是说,r是一个随机变量。假定对每一瞬间它们是连续的随机变量,那么,就可以用概率密度函数来表示原始图像的灰度分布。如果用直角坐标系的横轴代表灰度级r,用纵轴代表灰度级的概率密度函数,,图像的像素灰度值集中在亮区,因此,图像(b)的特性将偏亮,一般在摄影中曝光太弱将导致这种结果。显然,从两幅图像的灰度分布来看图像的质量均不理想。(c)直方图表示原图像的灰度动态范围太小,p,q部分的灰度级未能被有效地利用,许多细节分辨不清楚。(d)图中各种灰度分布均匀,给人以清晰、明快
12、的感觉。,图 观测直方图分析原图像性质,例 利用MATLAB画图像对应直方图。 J=imread(tire.tif);subplot(2,4,1),imshow(J); subplot(2,4,5),imhist(J,16); %显示图像的灰度直方图,共有16个灰度级别 J=imread(pout.tif);subplot(2,4,2),imshow(J); subplot(2,4,6),imhist(J,32); %显示图像的灰度直方图,共有32个灰度级别 J=imread(liftingbody.png);subplot(2,4,3),imshow(J); subplot(2,4,7),i
13、mhist(J,128); %显示图像的灰度直方图,共有128个灰度级别 J=imread(cameraman.tif);subplot(2,4,4),imshow(J); subplot(2,4,8),imhist(J,256); %显示图像的灰度直方图,共有256个灰度级别 程序运行可得到图像与对应直方图,如图所示。,灰度图像与对应直方图的显示,2.直方图的性质:,(1) 直方图它只包含了该图像中某一灰度值的像素出现的概率,而丢失了其所在位置的信息。(2) 图像与直方图之间是一种多对一的映射关系。(3)一幅图像各子区的直方图之和就等于该图全图的直方图。,图 不同的图像其直方图却是相同的 图
14、 直方图的叠加性质,由以上可知,尽管直方图不能表示出某灰度级的像素在什么位置,更不能直接反映出图像内容,但是却能描述该图像的灰度分布特性,使人们从中得到诸如图像的明亮程度、对比度等,成为一些处理方法的重要依据。通常一幅均匀量化的自然图像由于其灰度直方图分布集中在较窄的低值灰度区间,引起图像的细节看不清楚,为使图像变得清晰,可以通过变换使图像的灰度范围拉开或使灰度分布在动态范围内趋于均衡化,从而增加反差,使图像的细节清晰,达到图像增强的目的。事实证明,通过图像直方图均衡化进行图像增强是一种有效的方法。,3 直方图均衡化,直方图均衡化s = T(r) 0r 1满足如下条件: (a) T(r)在区间
15、0r 1中为单值且单调递增 (b)当0r 1时, 0 T(r)1一幅图像的灰度级可视为0,1的随机变量,令 Pr(s)和Ps(s) 分别表示随机变量r和s的概率密度函数.若Pr(s)和T(r)已知,则有如下结果:Ps(s)=Pr(r)|dr/ds| s的概率密度函数由输入函数的概率密度函数和所选择的变换函数决定.,累积分布函数(CDF)满足如下条件: (a) T(r)在区间0r 1中为单值且单调递增 (b)当0r 1时, 0 T(r)1对于离散值,处理其概率与和灰度级rk出现的概率为: pr(rk)=nk/n k=0,1,2,L-1则变换函数的离散形式为,求得sk的值后,还需将其取整扩展变换回
16、0,L区间,累积分布函数与r的关系,灰度变换函数关系,r和s的变换函数关系,例 试根据图(a)原始图像的概率密度函数,求出变换后的s值与r值的关系。并证明变换后的灰度级概率密度是均匀分布的。,均匀密度变换法的示例,例 直方图均衡化计算处理示例 一幅像素数为6464,灰度级为8级的图像、其灰度级分布如表所示:,直方图均衡化计算处理过程用到的公式,采用离散形式表示累积分布函数为:,其反变换为:,根据给定的一幅像素数为6464,灰度级为8级的图像,其灰度级分布表数据计算如下:,直方图均衡化计算处理示例,对其进行均衡化处理,过程如下:,直方图均衡化计算处理示例,以此类推,变换函数如图(b)所示。这里对
17、图像只取8个等间隔的灰度级,变换后的s值也只能选择最靠近的一个灰度级的值。因此,对上述计算值加以修正:,直方图均衡化计算处理示例,变换函数如图(b)所示。这里对图像只取8个等间隔的灰度级,变换后的s值也只能选择最靠近的一个灰度级的值。因此,对上述计算值加以修正:,直方图均衡化计算处理示例,由上述计算出的数值可见,新图像将只有5个不同的灰度级别,可以重新定义一个符号:,直方图均衡化计算处理示例,其中:r0经变换得s0=1/7,所以有790个像素取s0这个灰度值;r1映射到s1=3/7,所以有1023个像素取s1=3/7这一灰度值;以此类推,有850个像素取s2=5/7这一灰度值。,直方图均衡化计
18、算处理示例,但是,因为r3和r4均映射到s3=6/7这一灰度级,所以有656329=985个像素取这个值。同样,有24512281=448个像素取s4=l这个新灰度值。用n=4096来除上述这些nk,由计算的值便可得到新的直方图。新直方图如图(c)所示。,直方图均衡化计算处理的结果数据,灰度均衡化计算的例子:,直方图均衡化计算处理示例,对一幅像素数为6464,灰度级为8级的图像进行直方图均衡化计算处理,图像直方图均衡化处理示例,由上面的例子可见,利用累积分布函数作为灰度变换函数,经变换后得到的新灰度的直方图虽然不很平坦,但毕竟比原始图像的直方图平坦得多,而且其动态范围也大大地扩展了。因此这种方
19、法对于对比度较弱的图像进行处理是很有效的。,例 通过实例来认识直方图均衡化前后的图像灰度分布。 MATLAB程序如下: I=imread(cameraman.tif); % 读入原图像到I变量 J=histeq(I);% MATLAB直方图均衡化函数histeq对图像I进行直方图均衡化 subplot(2,2,1),imshow(I); % 显示原图像 subplot(2,2,2), imshow(J); % 显示处理后的图像 subplot(2,2,3),imhist (I,128); % 显示原图像的直方图灰度分布 subplot(2,2,4), imhist (J,128); % 显示均
20、衡化后的图像直方图 运行上述程序可得到原图像直方图和均衡化后的图像直方图对比情况,如图所示。,直方图均衡化实例,从以上直方图均衡化实例中可以看出,这些图像是8比特灰度级的原始图像和它相应的直方图。其特点是原始图像较暗且其动态范围较小,反映在直方图上就是直方图所占据的灰度值范围比较窄且集中在低灰度值一边。还有就是原图像的灰度级集中在一个较窄的范围内,其动态范围较窄。从经过直方图均衡化处理后的结果和对应直方图可以看到,直方图占据了整个图像灰度值允许的范围,增加了图像灰度动态范围,也增加了图像的对比度,反映在图像上就是图像有了较大的反差,许多细节看得比较清晰。,3.2空间域图像去噪技术,实际获得的图
21、像都因受到干扰而含有噪声,噪声产生的原因决定了噪声分布的特性及与图像信号的关系。一般图像处理技术中常见的噪声有: 加性噪声,如图像传输过程中引进的“信道噪声”、电视摄像机扫描图像的噪声等。 乘性噪声,乘性噪声和图像信号相关,噪声和信号成正比。 量化噪声,这是数字图像的主要噪声源,其大小显示出数字图像和原始图像的差异。“盐和胡椒”噪声,如图像切割引起的黑图像上的白点噪声,白图像上的黑点噪声。图像平滑的主要目的是去除噪声,去除噪声可采用空间域低通滤波、频率域低通滤波及形态学滤波。空间域中进行去噪主要采用邻域平均、中值滤波和多图像平均法。,1 . 模板操作和卷积运算,模板操作是数字图像处理中常用的一
22、种运算方式,例如, 有一种常见的平滑算法是将原图中的一个像素的灰度值和它周围邻近8个像素的灰度值相加,然后将求得的平均值作为新图像中该像素的灰度值。可用如下方法来表示该操作:,有点类似于矩阵,通常称之为模板,带星号的数据表示该元素为中心元素,即这个元素是将要处理的元素。,模板操作实现了一种邻域运算,即某个像素点的结果不仅和本像素灰度有关,而且和其邻域点的值有关。模板运算的数学含义是卷积(或互相关)运算。卷积是一种用途很广的算法,可用卷积来完成各种处理变换.,卷积的处理过程,卷积运算中的卷积核就是模板运算中的模板,卷积就是作加权求和的过程。邻域中的每个像素(假定邻域为33大小,卷积核大小与邻域相
23、同),分别与卷积核中的每一个元素相乘,乘积求和所得结果即为中心像素的新值。卷积核中的元素称作加权系数(亦称为卷积系数),改变卷积核中的加权系数, 会影响到总和的数值与符号, 从而影响到所求像素的新值。 在模板或卷积的加权运算中,还存在一些具体问题需要解决:首先是图像边界问题,当在图像上移动模板(卷积核)至图像的边界时,在原图像中找不到与卷积核中的加权系数相对应的9个像素,即卷积核悬挂在图像缓冲区的边界上, 这种现象在图像的上下左右四个边界上均会出现。,“”表示无法进行模板操作的像素点。解决这个问题可以采用两种简单方法:一种方法是保持原始数据或人为地赋予特殊的灰度。 另一种方法是在图像四周复制原
24、图像边界像素的值,从而使卷积核悬挂在图像四周时可以进行正常的计算。,2邻域平均算法 邻域平均法是一种利用Box模板对图像进行模板操作(卷积运算)的图像平滑方法,所谓Box模板是指模板中所有系数都取相同值的模板, 常用的33和55模板:,Box模板对当前像素及其相邻的的像素点都一视同仁,统一进行平均处理, 这样就可以滤去图像中的噪声。例如,用33 Box模板对一幅数字图像处理结果,如图所示(图中计算结果按四舍五入进行了调整,对边界像素不进行处理)。,33 Box模板平滑处理示意图,邻域平均法是一种局部空间域的简单处理算法。这种方法的基本思想是,在图像空间,假定有一幅图像大小为NN个像素的图像,用
25、邻域内几个像素的平均值去代替图像中的每一个像素点值的操作(即将一个像素及其邻域内的所有像素的平均灰度值赋给平滑图像中对应的像素)。经过平滑处理后得到一幅图像。,式中:x,y0,1,2,N-1;S为 点邻域中像素坐标的集合,其中不包括点;M为集合S内像素坐标点的总数。,邻域平均法的思想是通过一点和邻域内像素点求平均来去除突变的像素点,从而滤掉一定的噪声,其主要优点是算法简单,计算速度快, 但其代价是会造成图像一定程度上的模糊。 采用邻域平均法对图 (a)中的图像进行处理后的结果如图 (b)所示。可以看出经过邻域平均法处理后,虽然图像的噪声得到了抑制,但图像变得相对模糊了。,(a) 原始图像 (b
26、) 邻域平均后的结果 图像的领域平均法,给出了两种从图像阵列中选取邻域的方法。分别是4点邻域和8点邻域。,(a)4点邻域(半径x) (b)8点邻域(半径=x) 数字图像中的4邻域和8邻域,均值滤波器所有的系数都是正数,为了保持输出图像仍在原来的灰度值范围内,以33邻域为例,模板与像素邻域的乘积和要除以9。选取算子的原则是必须保证全部权系数之和为单位值。即无论如何构成模板,整个模板的平均数为1,且模板系数都是正数。 算子的取法不同,中心点或邻域的重要程度也不相同。由此得到其他加权平均滤波器如下:,处理结果表明,上述选择邻域的方法对抑制噪声是有效的,但是随着邻域的加大,图像的模糊程度也愈加严重。为
27、克服这一缺点,可以采用阈值法减少由于邻域平均所产生的模糊效应。其基本方法由式决定:,式中,T就是规定的非负阈值。这个表达式的物理概念是:当一些点和它的邻域内的点的灰度的平均值的差不超过规定的阈值T时,就仍然保留其原灰度值不变,如果大于阈值T时就用它们的平均值来代替该点的灰度值。这样就可以大大减少模糊的程度。,3案例分析 例 采用邻域平均的不同模板进行线性平滑滤波处理,比较其效果如何。,I=imread(onion.png); % 读入原图像 I=rgb2gray(I); J1=filter2(fspecial(average,3),I)/255;%用33模板均值滤波 J2=filter2(fs
28、pecial(average,5),I)/255; % 用55模板均值滤波 J3=filter2(fspecial(average,7),I)/255; % 用77模板均值滤波 subplot(2,2,1),imshow(I); % 显示原图像 subplot(2,2,2),imshow(J1); subplot(2,2,3),imshow(J2); subplot(2,2,4),imshow(J3); 程序运行结果如图3.2.5所示。,邻域平均不同模板线性平滑滤波效果,中值滤波是一种最常用的去除噪声的非线性平滑滤波处理方法,其滤波原理与均值滤波方法类似,二者的不同之处在于:中值滤波器的输出像
29、素是由邻域像素的中间值而不是平均值决定的。中值滤波器产生的模数较少,更适合于消除图像的孤立噪声点。 1一维中值滤波 中值滤波的算法原理是,首先确定一个奇数像素的窗口W,窗口内各像素按灰度大小排队后,用其中间位置的灰度值代替原灰度值成为窗口中心的灰度值。,3.2.2 中值滤波器,(3.2.6),式中:W为选定窗口大小; 为窗口W的像素灰度值。通常窗内像素为奇数,以便于有中间像素。若窗内像素为偶数时,则中值取中间两像素灰度值的平均值。中值滤波的主要工作步骤为: 将模板在图中漫游,并将模板中心与图中的某个像素位置重合; 读取模板下各对应像素的灰度值; 将模扳对应的像素灰度值进行从小到大排序; 选取灰
30、度序列里排在中间的1个像素的灰度值; 将这个中间值赋值给对应模板中心位置的像素作为像素的灰度值。,例 中值滤波与均值滤波的计算。 例如:有一个序列为0,3,4,0,7,窗口是5,则中值滤波为重新排序后的序列是0,0,3,4,7,中值滤波的中间值为3。此例若用平均滤波,窗口也是5,那么平均滤波输出为(0+3+4+0+7)/5=2.8。又例如,若一个窗口内各像素的灰度是5,6,35,10和15,它们的灰度中值是10,中心像素点原灰度值是35,滤波后变为10,如果35是一个脉冲干扰,中值滤波后被有效抑制。相反35若是有用的信号,则滤波后也会受到抑制。,中值滤波比均值滤波消除噪声更有效。因为噪声多为尖
31、峰状干扰,若用均值滤波虽能去除噪声但陡峭的边缘将被模糊。中值滤波能去除点状尖峰干扰而边缘不会变坏。,(a)原信号 (c) 中值滤波 不同信号中值滤波,图是由长度为5内含有五个像素的窗口采用中值滤波的方法对离散阶跃函数、斜坡函数、脉冲函数以及三角函数进行中值滤波的示例,从该例对几种信号的处理结果可以看出,中值滤波器不影响阶跃函数和斜坡函数,因而对图像边界有保护作用;周期小于m/2(窗口一半)的脉冲受到抑制,即对于持续期小于窗宽的窄脉冲将进行抑制,因而可能损坏图像中某些细节。另外三角函数的顶部变平。从上面的步骤可以看出,中值滤波器的主要功能就是让与周围像素灰度值的差比较大的像素改取与周围像素值相近
32、的值,从而可以消除孤立的噪声点。由于它不是简单的取均值,所以产生的模糊比较少。,2. 二维中值滤波 二维中值滤波可由下式表示:,(a) 原始图像; (b) 中值滤波输出 中值滤波输出结果示例,中值滤波几种常用窗口,3. 案例分析 例 在椒盐、高斯不同噪声下,采用55方形窗口,并用MATLAB图像处理工具箱提供的medfilt2函数实现噪声图像的中值滤波。,I=imread(office.jpg ) % 读入原图像 I=rgb2gray(I); subplot(2,6,2:3),imshow(I);title(原图); J1=imnoise(I, salt %高斯噪声图像结果 程序运行结果如图所
33、示。,椒盐、高斯噪声下图像的中值滤波,3.2.3多图像平均法 如果一幅图像包含有加性噪声,这些噪声对于每个坐标点是不相关的,并且其平均值为零,在这种情况下就可能采用多图像平均法来达到去掉噪声的目的。 设g(x,y)为有噪声图像,n(x,y)为噪声,f(x,y)为原始图像, g(x,y)= f(x,y)+ n(x,y),多 图像平均法是把一系列有噪声的图像 g(x,y)迭加起来,然后再取平均值以达到平滑的目的。具体做法如下: 取M幅内容相同但含有不同噪声的图像,将它们迭加起来,然后作平均计算,,(a)叠加高斯噪声的灰度图像 (b)4幅图像叠加平均的结果(c)8幅图像叠加平均的结果 几幅图像求平均
34、值,3.3.1频域低通滤波,在分析图像信号的频率特性时,对于一幅图像,直流分量表示了图像的平均灰度,大面积的背景区域和缓慢变化部分则代表图像的低频分量,而它的边缘、细节、跳跃部分以及颗粒噪声都代表图像的高频分量,因此,在频域中对图像采用滤波器函数衰减高频信息而使低频信息畅通无阻的过程称为低通滤波。通过滤波可除去高频分量,消除噪声,起到平滑图像去噪声的增强作用。但同时也可能滤除某些边界对应的频率分量,而使图像边界变得模糊。,式中, 为含有噪声原始图像的傅立叶变换;是频域线性低通滤波器传递函数(即频谱响应)的输出,也是低通滤波平滑处理后图像的傅立叶变换。得到后,再经过傅里叶反变换就得到所希望的图像
35、。频率域中的图像滤波处理流程框图如图 所示。,图像频域低通滤波流程框图 具有低通滤波特性。通过选择不同的,可产生不同的低通滤波平滑效果。常用的有理想低通滤波器、巴特沃斯低通滤波器、指数型低通滤波器等,它们都是零相位的,即它们对信号傅立叶变换的实部和虚部系数有着相同的影响,其传递函数以连续形式给出。,1. 理想低通滤波器 二维理想低通滤波器如图(a)所示,它的传递函数为:,式中:D0 是理想低通滤波器的截止频率,是一个规定非负的量,这里理想是指小于等于D0的频率可以完全不受影响地通过滤波器,而大于D0的频率则完全通不过,因此D0也叫截断频率。这种理想低通滤波器尽管在计算机中可模拟实现,但理想低通
36、滤波器无法用实际的电子器件硬件实现这种从1到0陡峭突变的截断频率。 是从频率平面上点 到频率平面原点(0,0)的距离。图(b)给出H的一个透视图。,(a) 特性曲线 (b)的透视图 理想低通滤波器,式中,D0是截止频率;n为阶数,取正整数,用它控制曲线的形状。当=D0、n=1时,在D0处的值降为其最大值的 ,具有不同的衰减特性,可视需要来确定。 巴特沃斯低通滤波器传递函数特性为连续性衰减,而不像理想低通滤波器那样陡峭和明显的不连续性。在它的尾部保留有较多的高频,所以对噪声的平滑效果不如理想低通滤波器。采用该滤波器在抑制噪声的同时,图像边缘的模糊程度大大减小,振铃效应不明显。,2. 巴特沃斯低通
37、滤波器 n阶巴特沃斯低通滤波器如图所示,它的传递函数为,(a) 特性曲线 (b)的透视图 巴特沃斯低通滤波器,3. 指数型低通滤波器 指数型低通滤波器如图所示,它的传递函数为,(a) 特性曲线 (b)的透视图 指数型低通滤波器,式中,D0是截止频率,n为阶数。当=D0、n=1时, 降为最大值的,由于指数型低通滤波器具有比较平滑的过滤带,经此平滑后的图像没有“振铃”现象,而与巴特沃斯滤波相比,它具有更快的衰减特性,处理的图像稍微模糊一些。,4. 案例分析 例 各种频域低通滤波器的MATLAB实现,频率低通滤波器对灰度图像增强的MATLAB程序如下: clc; I= imread(liftingb
38、ody.png ); % 从图形文件中读取图像 noisy = imnoise(I, gaussian,0.01 ); % 对原图像添加高斯噪声 M N =size(I); F=fft2(noisy); % 进行二维快速傅立叶变换 fftshift(F); % 把快速傅立叶变换的DC组件移到光谱中心 Dcut=100; for u=1:M for v=1:N D(u,v) =sqrt(u2 + v2); BUTTERH(u,v)=1/(1+(sqrt(2)-1)*(D(u,v)/Dcut)2);%巴特沃斯低通传递函数 EXPOTH(u, v)= exp(log(1/sqrt(2)*(D(u,
39、v)/Dcut)2);%指数型低通传递函数 end end,BUTTERG=BUTTERH.*F; BUTTERfiltered=ifft2(BUTTERG); EXPOTG=EXPOTH.*F; EXPOTGfiltered=ifft2(EXPOTG); subplot(2,2,1),imshow(I);title(原图); subplot(2,2,2),imshow(noisy);title(高斯噪声图像); subplot(2,2,3),imshow(BUTTERfiltered,map);title(巴特沃斯滤波图像); subplot(2,2,4),imshow(EXPOTGfilt
40、ered,map);title(指数型滤波图像); 程序运行结果如图所示。,频域低通滤波举例,3.3.2 频率域高通滤波 一般来讲,质量都要下降,除了噪声的因素之外,图像一般都要变得模糊一些,使图像特征提取、识别和理解难以进行,增强图像边缘和线条,使图像边缘变得清晰的处理称为图像锐化。图像锐化的作用就是补偿图像的轮廓,使图像变得更清晰。图像锐化可分为空间域高通滤波和频率域高通滤波。空间域高通滤波将在4.3 边缘检测中具体介绍,这里只介绍频率域高通滤波。 由于图像中的边缘、线条等细节部分与图像频谱中的高频分量相对应,在频域中用高通滤波器处理,能够使图像的边缘或线条变得清晰,图像得到锐化。高通滤波
41、器衰减傅立叶变换中的低频分量,通过傅立叶变换中的高频信息。因此,采用高通滤波的方法让高频分量顺利通过,使低频分量受到抑制,就可以增强高频的成分。,1. 理想高通滤波器 二维理想高通滤波器如图(a)所示。其传递函数定义为,它在形状上和前面介绍的理想低通滤波器的形状刚好相反,但与理想低通滤波器一样,这种理想高通滤波器也无法用实际的电子器件硬件来实现。,2巴特沃斯高通滤波器 n阶巴特沃斯高通滤波器如图(b)所示,其传递函数定义为,式中,是截止频率; 是点(u,v)到频率平面原点的距离。当 时, 下降到最大值的。,3指数型高通滤波器 指数型高通滤波器如图(c)所示, 其传递函数定义为:,式中, 是截止
42、频率;变量n控制着从原点算起的距离函数的增长率。当 时,它使 在截止频率时等于最大值的。,(a)理想高通滤波(b)巴特沃斯高通滤波器(c)指数高通滤波器 图 高通滤波器,4频率域图像锐化应用案例分析 例 频域高通滤波法对图像进行增强。 下面给出了各种频率高通滤波器对灰度图像增强的MATLAB程序。,clc; I= imread(liftingbody.png ); % 从图形文件中读取图像 noisy = imnoise(I, gaussian,0.01 ); % 对原图像添加高斯噪声 M N =size(I); F=fft2(noisy); % 进行二维快速傅立叶变换 fftshift(F)
43、; % 把快速傅立叶变换的DC组件移到光谱中心 Dcut=100;,for u=1:M for v=1:N D(u,v) =sqrt(u2 + v2); BUTTERH(u, v)=1/(1+(sqrt(2)-1)*Dcut/D(u,v)2); % 巴特沃斯低通传递函数 EXPOTH(u, v)= exp(log(1/sqrt(2)*Dcut/D(u,v)2); % 指数型低通传递函数 end end BUTTERG=BUTTERH.*F; BUTTERfiltered=ifft2(BUTTERG); EXPOTG=EXPOTH.*F; EXPOTGfiltered=ifft2(EXPOTG)
44、; subplot(2,2,1),imshow(I);title(原图); subplot(2,2,2),imshow(noisy);title(高斯噪声图像); subplot(2,2,3),imshow(BUTTERfiltered,map);title(巴特沃斯滤波图像); subplot(2,2,4),imshow(EXPOTGfiltered,map);title(指数型滤波图像);,频域高通滤波法举例,3.4 形态学滤波去噪技术,数学形态学是一门新兴的图像处理与分析学科,其基本理论与方法在文字识别、医学图像处理与分析、图像编码压缩等诸多领域都取得了广泛的应用。已经成为图像工程技术人
45、员必须掌握的基本内容之一。基于数学形态学的形状滤波器可借助于先验的几何特征信息,利用形态学算子有效地滤除噪声,又可以保留图像中的原有信息,数学形态学方法比其他空域或频域图像处理和分析方法具有一些明显的优势。,3.4.1 基本符号和定义 1. 集合论概念 在数字图像处理的数学形态学运算中,把一幅图像称为一个集合。对于一幅图像,如果点a在A的区域以内,则a是A的元素,记为,b在A的区域以外,则b不是A的元素,记为,如图3.4.1所示。,元素与集合间的关系图 集合与集合间的关系,集合的交集与并集 集合的补集,2击中与击不中,击中与击不中,3平移和对称集,图像的平移,集合的对称,4结构元素 设有两幅图
46、像S和X。若X是被处理的对象,而S是用来处理X的,则称S为结构元素,S又被形象地称作刷子。结构元素通常都是一些比较小的图像。在结构元素中可以指定一个点为原点,通常形态学图像处理以在图像中移动一个结构元素并进行一种类似于卷积运算的方式进行,只是以逻辑运算代替卷积的乘加运算。,3.4.2 二值形态学图像处理 二值形态学中的运算对象是集合。设X为图像集合,S为结构元素,数学形态学运算是用S对X进行操作。需要指出,实际上结构元素本身也是一个图像集合。对每个结构元素可以指定一个原点,它是结构元素参与形态学运算的参考点。应注意, 原点可以包含在结构元素中,也可以不包含在结构元素中,但运算的结果常不相同。,1. 腐蚀 对一个给定的目标图像X和一个结构元素S, 想象一下将S在图像上移动。在每一个当前位置x, S+x只有三种可能的状态,S + x 的三种可能状态,第1种情形说明S+x与X相关最大,第2种情形说明S+x与X不相关,而第3种情形说明S+x与X只是部分相关。因而满足式(3.4.1)的点x的全体构成结构元素与图像最大相关点集,这个点集称为S对X的腐蚀(简称腐蚀,有时也称X用S腐蚀),记为腐蚀也可以用集合的方式定义,即,E(X)=,=,把结构元素S平移a后得到Sa,若Sa包含于X,我们记下这个a点,所有满足上述条件的a点组成的集合称作X被S腐蚀的结果。,腐蚀的示意图,