matlab在信号与图像处理中的应用第11章 联系客服

发布时间 : 星期六 文章matlab在信号与图像处理中的应用第11章更新完毕开始阅读ef072881e53a580216fcfe1e

图11-9 利用adapthisteq函数均衡化后效果图及其直方图

可以看出,均衡化处理后的图像比原始图像的对比度明显增强。为了避免放大图像中噪声的对比度,还可以设定adapthisteq函数的参数,限制噪声的对比度。

提示:虽然直方图灰度变换或直方图均衡化是很有用的方法,但是因为只是产生具有近似几个概率密度的结

果.并不太适合做交互式(interactive)图像增强。

11.2 空域滤波增强

空域滤波增强也是一种图像增强的重要手段。使用空域模板逐点对图像进行处理的方法称为空域滤波,模板本身被称为空域滤波器。实际上,空域滤波就是在图像空间中借助模板对图像进行邻域操作,输出图像中每一个像素的取值都是通过模板对输入像素相应邻域内的像素值进行计算得到的。其基本特点是抑制图像在傅立叶空间某个范围内的分量,同时保持其他分量不变,从而改变输出图像的频率分布,达到图像增强的目的。

空域滤波有许多种。根据模板的特点可以将空域滤波分为线性和非线性两类,线性空域滤波常常是基于傅立叶分析,而非线性空域滤波通常是直接对邻域进行操作。按照空域滤波器的功能可以将空域滤波器分为平滑滤波器和锐化滤波器两种,平滑滤波器可以低通滤波器来实现,目的在于消除混杂在图像中的干扰因素,改善图像质量,强化图像表现特征;锐化滤波器用高通滤波来实现,目的在于增强图像边缘或被模糊的细节,以便于对图像进行识别和处理。下面分别介绍平滑滤波器和锐化滤波器的使用方法和用途。

11.2.1 平滑滤波器

平滑技术主要用于在空间域中平滑图像的噪声,其基本方法是求像素灰度的平均值或中值,平滑滤波器相当于一种低通滤波器。

1. 噪声

实际获得的图像一般都会因受到某种干扰而含有噪声,这些噪声主要来自敏感元器件的

13

第11章 图像增强

内部噪声、相片底片上感光材料的颗粒、传输通道的干扰及量化噪声等。噪声的产生通常是随机的,其产生原因决定了噪声的分布特性及它和图像信号的关系,有些是相关的,有些是相互独立的。

根据噪声和信号的关系可以将噪声分为两种形式:

(1)加性噪声。有的噪声与图像信号

f?x,y?无关,含噪图像

g?x,y?可以表示为

g?x,y??f?x,y??n?x,y? (11-10)

信道噪声及扫描图像时产生的噪声都属于加性噪声。

(2)乘性噪声。有的噪声与图像信号相关,可能是某像素处的噪声只与该像素的图像信号相关,也可能是某像点处的噪声与该像点及其邻域的图像信号相关。若噪声和信号成正比,则含噪图像

g?x,y?可以表示为

(11-11)

g?x,y??f?x,y??n?x,y?f?x,y?飞点扫描图像中噪声、电视扫描光栅和胶片颗粒噪声都属于乘性噪声。

另外,根据噪声服从的分布还可以分为高斯噪声、泊松噪声和颗粒噪声等。泊松噪声通常出现在照度非常小和使用高倍电子线路放大器的情况下,椒盐噪声可以认为是泊松噪声,其他情况一般为加性高斯噪声。颗粒噪声可以认为是白噪声,在密度域是高斯分布的加性噪声,在强度域中为乘性噪声。

在Matlab2007a图像处理工具箱中,模拟噪声生成函数imnoise用于给图像添加某些典型的噪声。调用格式为

J=imnoise(I,type)

J=imnoise(I,type,parameters)

其中,参数type和parameters用于确定噪声的类型和相应的参数。

例11-10 对图像rice.png分别加入高斯噪声、椒盐噪声和乘性噪声,程序为: I=imread(‘rice.png’);

J1=imnoise(I, ‘gaussian’,0,0.02); J2=imnoise(I, ‘salt&pepper’,0.02); J3=imnoise(I, ‘speckle’,0.02); subplot(2,2,1);imshow(I) subplot(2,2,2);imshow(J1) subplot(2,2,3);imshow(J2) subplot(2,2,4);imshow(J3) 结果如图11-10所示。

14

图11-10原始图像及加噪声结果

提示:由于噪声的随机性,它们对像素的影响将使得该像素的灰度与其邻点的灰度显著不同,因此,可

以利用这种不同来消除噪声。

2. 线性平滑滤波

线性平滑滤波可以去除图像中某些类型的噪声,其中邻域平均法就是常用的简单的空间域线性平滑噪声技术。邻域平均法将一个像素及其邻域中所有像素的平均值赋给输出图像中相应的像素,从而达到平滑的目的,又称均值滤波。

对于给定的图像f?x,y?中的每个像素点?i,j?,取其邻域S,邻域S的形状和大小根据图像特点来确定,在图像处理过程中可以保持不变,也可以随图像的局部统计特性变化,一般取的形状是正方形、矩形或十字形等。设S含有M个像素,取其平均值作为处理后所得图像像点?i,j?处的灰度,点?i,j?一般位于S的中心。假定噪声n?x,y?是加性噪声,在空间各点互不相关,且期望为0,方差为?,邻域平均处理后的图像为g?x,y?,则有

2g?x,y??1M?f?x,y??1M?n?x,y? (11-12)

2由上式可知,经邻域平均后,噪声的均值不变,?a?声强度减弱了,抑制了噪声。

例11-12 对一幅含噪图像进行去噪处理,程序为 I=imread(‘rice.png’);

12?,即噪声方差变小,说明噪M15

第11章 图像增强

J1=imnoise(I,‘gaussian’,0,0.02); %添加均值为0,方差为0.02的高斯噪声 imshow(J1);

h=[1 1 1,1 1 1,1 1 1]; %产生滤波模板 H=h/9; %对滤波模板进行归一化

J=conv2(J1, H); %用均值模板对图像滤波 I=uint16(J);

figure;inshow(I,[ ]); 结果如图11-11所示。

(a)原始图像 (b)3×3均值滤波后结果

图11-11 邻域线性平滑滤波

提示:邻域平均法虽然有效地抑制了噪声,同时也由于平均而引起了图像边缘的模糊(加宽),模糊程度与

邻域半径成正比。

3. 中值滤波

中值滤波也是一种典型的低通滤波器,主要目的是保护图像边缘,同时也能去除噪声,也就是说,能够在抑制随机噪声的同时不使图像边缘模糊。与加权平均方式的线性平滑滤波不同,中值滤波是将邻域中的像素按灰度级排序,取其中间值作为输出像素。中值滤波的效果依赖于两个因素:邻域的空间范围和中值计算中涉及的像素数(当空间范围较大时,一般只取若干稀疏分布的像素作中值计算)。

设f?x,y?表示数字图像像素点的灰度值,滤波窗口为A的中值滤波器可以定义为

g?x,y??Med?f?x,y?? (11-13)

?x,y??A可以看出,中值滤波是一个非线性的操作。邻域的大小决定在多少个数值中进行求中值操作,窗口的形状决定了在什么样的几何空间中取元素计算中值。对二维图像,窗口的形状可以是矩形、圆形或十字形等,它的中心一般位于被处理点上。窗口的大小和形状有时对滤波效果影响较大。

在Matlab2007a图像处理工具箱中,函数medfilt2用于实现中值滤波。调用格式为

B=medfilt2(A,[m n]) %对图像A执行二维中值滤波。每个输出像素为m?n邻域的

16