《数字图像处理第4章-图像的增强.ppt》由会员分享,可在线阅读,更多相关《数字图像处理第4章-图像的增强.ppt(114页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第4章 图像的增强 4.1 引 言 图像增强是图像处理的基本内容之一,其目的是改善图像的“视觉效果”(包括人和机器的“视觉”),针对给定图像的应用场合,有目的地强调图像的整体或局部特性,扩大图像特征之间的差别,为图像的信息提取及其他图像分析技术奠定良好的基础。图像增强的方法是通过锐化、平滑、去噪、对比度拉伸等手段对图像附加一些信息或变换数据,使图像与“视觉”响应特性匹配,以用来突出图像中的某些目标特征而抑制另一些特征,或简化数据提取。引 言 图像增强技术根据增强处理过程所在的空间不同,可分为基于空间域的增强方法和基于频率域的增强方法2类。基于空间域的增强方法按照所采用的技术不同,可分为灰度变换
2、和空间滤波2种方法。图像增强技术按所处理的对象不同,还可分为灰度图像增强和彩色图像增强,按增强的目的还可分为光谱信息增强、空间纹理信息增强和时间信息增强。4.2 灰度变换法 4.2.1 全域线性变换全域线性变换 线性灰度变换如图4.1所示,灰度变换函数 g=f=mf+n ()是线性的。显然,如果m=1、n=0,则输出图像复制输入图像;如果m1、n=0,则输入图像对比度被扩展;如果m1、n=0,则输出图像对比度被压缩;如果msknkPs(sk)r1s0=1/77900.19r1s1=3/710230.25r2s2=5/78500.21r3,r4s3=6/79850.24r5,r6,r7s4=14
3、480.11直方图规定化(3)用直方均衡化中的sk进行G的反变换求z。这一步实际是近似过程,也就是找出sk与G(zk)的最接近的值。例如,s0=1/70.14,与它最接近的是G(z3)=0.15,所以可写成 。这样可得到下列变换值:s0=1/7z3=3/7 s1=3/7z4=4/7 s2=5/7z5=5/7 s3=6/7z6=6/7 s4=1z7=1直方图规定化(4)用 找出r与z的映射关系。r0=0z3=3/7 r1=1/7z4=4/7 r2=2/7z5=5/7 r3=3/7z6=6/7 r4=4/7z6=6/7 r5=5/7z7=1 r6=6/7z7=1 r7=1z7=1直方图规定化 (5
4、)根据这样的映射重新分配像素,并用n=4096去除,可得到最后的直方图。其结果直方图数据如表所示。zknkPz(zk)zknkPz(zk)Z0=000.00Z4=4/710230.25Z1=1/700.00Z5=5/78500.21Z2=2/700.00Z6=6/79850.24Z3=3/77900.19Z7=14480.114.3.5 直方图均衡化的Matlab实现 图像的直方图、均值、方差以及图像间的相关都是重要的统计特征。图像处理工具箱提供了计算这些统计特征的函数。1.imhist函数函数 功能:计算和显示图像的色彩直方图。格式:imhist(I,n)imhist(X,map)count
5、s,x=imhist()直方图均衡化的Matlab实现 说明:imhist(I,n)计算和显示灰度图像I的直方图,n为指定的灰度级数目,缺省值为256;imhist(X,map)计算和显示索引色图像X的直方图,map为调色板;counts,x=imhist(.)返回直方图数据向量counts和相应的色彩值向量x,用stem(x,counts)同样可以显示直方图。例4.4 显示图像cameraman.tif的直方图。I=imread(cameraman.tif);subplot(1,2,1),imshow(I)subplot(1,2,2),imhist(I)直方图均衡化的Matlab实现直方图均
6、衡化的Matlab实现2.imcontour函数函数 功能:显示图像的等灰度值图。格式:imcontour(I,n),imcontour(I,v)说明:n为灰度级的个数,v是由用户指定所选的灰度级向量。例4.5显示图像bacteria.tif的等灰度值图 I=imread(bacteria.tif);subplot(1,2,1),imshow(I)subplot(1,2,2),imcontour(I,8)直方图均衡化的Matlab实现直方图均衡化的Matlab实现3.imadjust函数函数 功能:通过直方图变换调整对比度。格式:J=imadjust(I,low high,bottom top
7、,gamma)newmap=imadjust(map,low high,bottom top,gamma)说明:J=imadjust(I,low high,bottom top,gamma)返回图像I经直方图调整后的图像J,gamma为校正量,low high为原图像中要变换的灰度范围,bottom top指定了变换后的灰度范围;newmap=imadjust(map,low high,bottom top,gamma)调整索引色图像的调色板map。此时若low high和bottom top都为23的矩阵,则分别调整R、G、B 3个分量。直方图均衡化的Matlab实现例4.6调整图像的对比度
8、,调整前后的图像见图 clear all I=imread(pout.tif);J=imadjust(I,0.3 0.7,);subplot(121),imshow(I)subplot(122),imshow(J)figure,subplot(121),imhist(I)subplot(122),imhist(J)直方图均衡化的Matlab实现4.histeq函数函数功能:直方图均衡化。格式:Jhisteq(I,hgram)J=histeq(I,n)J,T=histeq(I,)newmap=histeq(X,map,hgram)newmap=histeq(X,map)new,T=histeq(
9、X,)说明:Jhisteq(I,hgram)实现了所谓“直方图规定化”,即将原始图像I的直方图变换成用户指定的向量hgram。hgram中的每一个元素都在0,1中;J=histeq(I,n)指定均衡化后的灰度级数n,缺省为64;J,T=histeq(I,)返回从能将图像I的灰度直方图变换成图像J的直方图的变换T直方图均衡化的Matlab实现 例4.7 对图像tire.tif做直方图均衡化,结果见图。I=imread(tire.tif);J=histeq(I);subplot(1,2,1),imshow(I)subplot(1,2,2),imshow(J)figure,subplot(1,2,1
10、),imshow(I,64)subplot(1,2,2),imshow(J,64)4.4 图像的平滑 4.4.1 邻域平均法邻域平均法 邻域平均值法是简单的空域处理方法。这种方法的基本思想是用几个像素灰度的平均值代替每个像素的灰度。假定有一幅N像素N像素的图像f(x,y),平滑处理后得到一幅图像g(x,y)g(x,y)由下式决定:式中,x,y=0,1,2,N1;S是点(x,y)邻域中点的坐标的集合,但其中不包括点(x,y);M是集合内坐标点的总数。式(4.4.1)说明平滑化的图像 g(x,y)中的每个像素的灰度值均由包含(x,y)的预定邻域中的 f(x,y)的几个像素的灰度值的平均值决定。例如
11、,可以以点(x,y)为中心,取单位距离构成一个邻域,其中点的坐标集合为 S=(x,y+1),(x,y1),(x+1,y),(x1,y)邻域平均法邻域平均法 图4.21给出了2种从图像阵列中选取邻域的方法。图(a)的方法是一个点的邻域,定义为以该点为中心的一个圆的内部或边界上的点的集合。图中像素间的距离为x,选取x 为半径作圆,那么,点R的灰度值就是圆周上4个像素灰度值的平均值。图(b)是选 x为半径的情况下构成的点R的邻域,选择在圆的边界上的点和在圆内的点为S的集合。邻域平均法邻域平均法图4.21在数字图像中选取邻域的方法邻域平均法邻域平均法 处理结果表明,上述选择邻域的方法对抑制噪声是有效的
12、,但是随着邻域的加大,图像的模糊程度也会愈加严重。为克服这一缺点,可以采用阈值法减少由于邻域平均所产生的模糊效应。其基本方法由下式决定:式中T就是规定的非负阈值。这个表达式的物理概念是,当一些点和它的邻域内的点的灰度的平均值的差不超过规定的阈值T时,就仍然保留其原灰度值不变;如果大于阈值T时就用它们的平均值代替该点的灰度值。这样就可以大大降低了模糊的程度。4.4.2 中值滤波 中值滤波是一种非线性处理技术,由于它在实际运算过程中并不需要知道图像的统计特性,所以比较方便。中值滤波最初应是用在一维信号处理技术中,后来被二维的图像信号处理技术所引用。在一定的条件下,中值滤波可以克服线性滤波器所带来的
13、图像细节模糊,而且对滤除脉冲干扰及图像扫描噪声非常有效;但是,对一些细节多,特别是点、线、尖顶细节较多的图像则不宜采用中值滤波的方法。中值滤波的目的是在保护图像边缘的同时,去除噪声。中值滤波1.中值滤波的原理中值滤波的原理 中值滤波实际上就是用一个含有奇数个像素的滑动窗口,将窗口正中点的灰度值用窗口内各点的中值代替。例如,若窗口长度为5,窗口中像素的灰度值分别为80、90、200、110、120,则中值为110,因为如果按从小到大排列,结果为80、90、110、120、200,其中间位置上的值为110。于是原来窗口正中的灰度值200就由110代替。如果200是一个噪声的尖峰,则将被滤除;如果它
14、是一个信号,那么此方法处理的结果将会造成信号的损失。设有一个一维序列 f1,f2,fn,用窗口长度为m(m为奇数)的窗口对该序列进行中值滤波,就是从输入序列 f1,f2,fn 中相继抽出m个数 fiv,fi1,fi,fi+1,fi+v,其中 fi 为窗口的中心值,v=(m1)/2,再将这m个点的值按其数值大小排列,取其序号为正中间的那个值作为滤波器的输出。用数学公式可表示为 Yi=Mfiv,fi,fi+v iZ,v=(m1)/2中值滤波 例4.8 有一个序列为0,3,4,0,7,当窗口m5时,试分别求出采用中值滤波和平滑滤波的结果。解 该序列重新排列后为0,0,3,4,7则中值滤波的结果 M0
15、,0,3,4,7=3 如果采用平滑滤波,则平滑滤波的输出为 Zi=(xiv+xi+xi+v)/m =(0+3+4+3+7)/5=2.8 图4.22所示的是由长度为5的窗口采用中值滤波的方法对几种信号的处理结果。可以看到中值滤波不影响阶跃函数和斜坡函数,因为对图像的边缘有保护作用;但是,对于持续周期小于窗口尺寸的1/2的脉冲将进行抑制(如图(c)和(d)所示),因而可能损坏图像中某些细节。中值滤波2.中值滤波的主要特性中值滤波的主要特性(1)对某些输入信号中值滤波具有不变性 对某些特定的输入信号,中值滤波的输出保持输入信号值不变。例如输入信号在窗口2n+1内单调增加或者单调减少的序列。二维序列的
16、中值滤波不变性要复杂得多,它不但与输入信号有关,还与窗口的形状有关。图4.23列出了几种二维中值滤波窗口及与之对应的最小尺寸的不变输入图形。一般地,与窗口对顶角线垂直的边缘经滤波后将保持不变。利用这个特点,可以使中值滤波既能去除图像中的噪声,又能保持图像中一些物体的边缘。另外,一维的周期性二值序列,如 xn=,+1,+1,1,1,+1,+1,1,1,,当滤波窗口长度为9时,经过中值滤波此序列将保持不变。对于一个二维序列,这一类不变性更为复杂,但它们一般也是二值的周期性结构,即为周期性网格结构的图像。中值滤波(2)中值滤波的去噪声性能 中值滤波可以用来减弱随机干扰和脉冲干扰。由于中值滤波是非线性
17、的,因此对随机输入信号数学分析比较复杂。中值滤波的输出与输入噪声的概率密度分布有关,而邻域平均法的输出与输入分布无关。中值滤波在抑制随机噪声上要比邻域法差一些,但对于脉冲干扰(特别是脉冲宽度小于m/2且相距较远的窄脉冲干扰),中值滤波是非常有效的。中值滤波图4.23几种二维中值滤波的常用窗口及其对应不变图形4.4.3 多图像平均法 如果一幅图像包含加性噪声,这些噪声对于每个坐标点是不相关的,并且其平均值为0,在这种情况下可能采用多图像平均法达到去掉噪声的目的。设 g(x,y)为有噪声图像,n(x,y)为噪声,f(x,y)为原始图像,可表示为g(x,y)=f(x,y)+n(x,y)多图像平均法是
18、把一系列有噪声的图像 gi(x,y)叠加起来,然后再取平均值以达到平滑的目的。具体做法如下:取M幅内容相同但含有不同噪声的图像,将它们叠加起来,然后做平均计算,即 由此得出多图像平均法 式中,是 的数学期望;和 是 和n在(x,y)坐标上的方差。在平均图像中任一点的均方差可由下式得到:由式(4.4.9)和(4.4.10)可见,M增加则像素值的方差就减小,这说明由于平均的结果使得由噪声造成的像素灰度值的偏差变小。从式(4.4.7)中可以看出,当做平均处理的噪声图像数目增加时,其统计平均值就越接近原始无噪声图像。这种方法在实际应用中的最大困难在于把多幅图像配准起来,以便使相应的像素能正确地对应排列
19、。4.5 图像锐化4.5.1 梯度锐化法梯度锐化法 图像锐化法最常用的是梯度法。对于图像 f(x,y),在(x,y)处的梯度定义为 梯度是一个矢量,其大小和方向分别为 梯度方向是 f(x,y)在该点灰度变换率最大的方向。梯度锐化法梯度锐化法 对于一幅图像中突出的边缘区,其梯度值较大;对于平滑区,梯度值较小;对于灰度级为常数的区域,梯度值为0。下图显示了一幅二值图像和采用式(4.5.5)计算的梯度图像。梯度锐化法梯度锐化法 除梯度算子外,还可以采用Roberts、Prewitt和Sobel算子计算梯度,来增强边缘。Roberts对应的模板如图4.25所示。差分计算式为1111梯度锐化法梯度锐化法
20、 为在锐化边缘的同时减少噪声的影响,Prewitt从加大边缘增强算子的模板出发,由22扩大到33计算差分,如图4.26(a)所示。Sobel在Prewitt算子的基础上,对4邻域采用加权的方法计算差分,对应的模板如图4.26(b)。(a)Prewitt算子(b)Sobel算子-101-101-101-1-1-1000111-101-202-101-1-2-1000121梯度锐化法梯度锐化法 根据式(4.5.4)或式(4.5.5)就可以计算Roberts、Prewitt和Sobel梯度。一旦梯度算出后,就可以根据不同的需要生成不同的增强图像。第1种增强图像是使其各点(x,y)的灰度g(x,y)等
21、于梯度,即 g(x,y)=grad(x,y)此法的缺点是增强的图像仅显示灰度变化比较陡的边缘轮廓,而灰度变化比较平缓或均匀的区域则呈黑色。第2种增强图像是使 式中T是一个非负的阈值。适当选取T,既可使明显的边缘轮廓得到突出,又不会破坏原来灰度比较平缓的背景。梯度锐化法梯度锐化法 第3种增强图像是使 式中LG是根据需要指定的一个灰度级,它将明显边缘用固定的灰度级LG来表现。第4种增强是使 此方法将背景用一个固定的灰度级LB来表现,便于研究边缘灰度的变化。第5种增强是使 这种方法将明显边缘和背景分别用灰度级 LG和LB表示,生成二值图像,便于研究边缘所在的位置。4.5.2 Laplacian增强算
22、子 Laplacian算子是线性二阶微分算子。即 对于离散的数字图像而言,二阶偏导数与二阶差分近似,由此可推导出Laplacian算子的表达式为 f(x,y)=f(x+1,y)+f(x1,y)+f(x,y+1)+f(x,y1)4f(x,y)Laplacian增强算子为 g(x,y)=f(x,y)f(x,y)=5f(x,y)f(x+1,y)+f(x1,y)+f(x,y+1)+f(x,y1)Laplacian增强算子 其特点有:(1)由于灰度均匀的区域或斜坡中间 f(x,y)为0,Laplacian增强算子不起作用;(2)在斜坡底或低灰度侧形成“下冲”;而在斜坡顶或高灰度侧形成“上冲”,说明Lap
23、lacian增强算子具有突出边缘的特点,其对应的模板如图所示。0-10-15-10-104.6 频率域滤波增强 增强技术是在图像的频率域空间对图像进行滤波,因此需要将图像从空间域变换到频率域,一般通过傅里叶变换即可实现。在频率域空间的滤波与空域滤波一样可以通过卷积实现,因此傅里叶变换和卷积理论是频域滤波技术的基础。如图所示。假定函数 f(x,y)与线性位不变算子 h(x,y)的卷积结果是 g(x,y),即 g(x,y)=h(x,y)*f(x,y)相应地,由卷积定理可得下述频域关系:G(u,v)=H(u,v)F(u,v)频率域滤波增强 式中,H(u,v)称为传递函数或滤波器函数。在图像增强中,图
24、像函数 f(x,y)是已知的,即待增强的图像,因此 F(u,v)可由图像的傅里叶变换得到。实际应用中,首先需要确定的是 H(u,v),然后就可以求得 G(u,v),对 G(u,v)求傅里叶反变换后即可得到增强的图像 g(x,y)。g(x,y)可以突出 f(x,y)的某一方面的特征,如利用传递函数 H(u,v)突出 F(u,v)的高频分量,以增强图像的边缘信息,即高通滤波;反之,如果突出 F(u,v)的低频分量,就可以使图像显得比较平滑,即低通滤波。在介绍具体的滤波器之前,首先根据以上的描述给出频域滤波的主要步骤。(1)对原始图像f(x,y)进行傅里叶变换得到F(u,v);(2)对F(u,v)与
25、传递函数H(u,v)进行卷积运算得到G(u,v);(3)将G(u,v)进行傅里叶反变换得到增强图像g(x,y)。4.6.1 频率域低通滤波器 图像的平滑除了在空间域中进行外,也可以在频率域中进行。由于噪声主要集中在高频部分,为去除噪声,改善图像质量,在图4.23中采用低通滤波器H(u,v)抑制高频部分,然后再进行傅里叶逆变换获得滤波图像,就可达到图像平滑的目的。常用的频率域低通滤波器H(u,v)有下面3种。1.理想低通滤波器理想低通滤波器 设傅里叶平面上理想低通滤波器离开原点的截止频率为 D0,则理想低通滤波器的传递函数为频率域低通滤波器 式中 D0 有2种定义,一种是取H(u,0)降到1/2
26、时对应的频率;另一种是取H(u,0)降到 。这里采用第一种。理想低通滤波器传递函数如图所示。频率域低通滤波器2.巴特沃斯低通滤波器巴特沃斯低通滤波器 n阶巴特沃斯(Butterwoth)滤波器的传递函数为 巴特沃斯低通滤波器传递函数如图所示。它的特性是连续性衰减,而不像理想滤波器那样陡峭和明显地不连续。因此采用该滤波器滤波在抑制图像噪声的同时,图像边缘的模糊度大大减小,没有振铃效应产生;但计算量大于理想低通滤波器。频率域低通滤波器3.指数低通滤波器指数低通滤波器 指数滤波器是图像处理中常用的另一种平滑滤波器。它的传递函数为 式中n决定指数的衰减率。指数低通滤波器的传递函数如图所示。采用该滤波器
27、在抑制噪声的同时,图像边缘的模糊程度较用巴特沃斯滤波产生的大些,无明显的振铃效应。4.6.2 频率域高通滤波器1 理想高通滤波器理想高通滤波器 二维理想高通滤波器的传递函数为 其传递函数如图所示。与理想低通滤波器相反,它把半径为 D0 的圆内的所有频谱成分完全去掉,对圆外则无损地通过。频率域高通滤波器2 巴特沃斯高通滤波器巴特沃斯高通滤波器 n阶巴特沃斯高通滤波器的传递函数定义为 其传递函数如图所示。频率域高通滤波器3 指数高通滤波器指数高通滤波器 指数高通滤波器的传递函数为 式中n控制函数的增长率,它的传递函数如图所示。4.6.3 带通和带阻 在实际应用中,图像中的某些有用信息可能出现在图像
28、频谱的某一个频率范围内,或者某些需要去除的信息出现在某一个频率范围内。这种情况下,能够允许特定频率范围内的频率分量通过的传递函数就很有用,带通和带阻滤波器就是这样的传递函数,带通滤波器允许一定频率范围内的信号通过而阻止其他频率范围内的信号通过,带阻滤波器则正好相反。一个理想的带通滤波器的传递函数为 带通和带阻 式中,w为带的宽度;D0 为频带中心频率;D(u,v)表示从点(u,v)到频带中心(u0,v0)的距离,即 理想带通滤波器的传递函数 H(u,v)如图所示。4.6.4 图像增强的Matlab实现1.噪声及其噪声的噪声及其噪声的Matlab实现实现 实际获得的图像一般都因受到某种干扰而含有
29、噪声。引起噪声的原因有敏感元器件的内部噪声、相片底片上感光材料的颗粒、传输通道的干扰及量化噪声等。噪声产生的原因决定了噪声的分布特性及它与图像信号的关系。根据噪声与信号的关系可以将其分为2种形式。(1)加性噪声。有的噪声与图像信号 g(x,y)无关,在这种情况下,含噪声图像 f(x,y)可表示为 f(x,y)=g(x,y)+n(x,y)信道噪声及扫描图像时产生的噪声都属于加性噪声。图像增强的Matlab实现 (2)乘性噪声。有的噪声与图像信号有关。这又可以分为2种情况,一种是某像素处的噪声只与该像素的图像有关;另一种是某像点处的噪声与该像点及其邻域的图像信号有关。例如,用飞点扫描器扫描图像时产
30、生的噪声就与图像信号有关。如果噪声和信号成正比,则含噪图像 f(x,y)可以表示为 f(x,y)=g(x,y)+n(x,y)g(x,y)=1+n(x,y)g(x,y)平滑技术主要用于平滑图像中的噪声,平滑噪声在空间域中进行,其基本方法是求像素灰度的平均值或中值。为了既平滑噪声又保护图像信号,也有一些改进的技术,比如在频域中运用低通滤波技术。图像增强的Matlab实现 imnoise函数函数 格式:J=imnoise(I,type)J=imnoise(I,type,parameter)说明:J=imnoise(I,type)返回对图像I添加典型噪声后的有噪图像J,参数type和parameter
31、用于确定噪声的类型和相应的参数。以下程序代码示例是对图像rice.png分别加入高斯噪声、椒盐噪声和乘性噪声,其结果如图所示图像增强的Matlab实现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);图像滤波的Matlab实现 下
32、面介绍空间域滤波技术的Matlab实现。Matlab中提供的与空间域数字图像滤波的函数主要有5个。(1)conv2函数 功能:计算二维卷积。格式:C=conv2(A,B)C=conv2(Hcol,Hrow,A)C=conv2(,shape)图4-37是采用该函数与前面介绍的算子进行结合的例子。(2)convmtx2函数 功能:计算二维卷积矩阵。格式:T=Convmtx2(H,m,n)T=convmtx2(H,m,n)说明:Convmtx2函数返回矩阵H的卷积矩阵T,矩阵T是一稀疏矩阵。图像滤波的Matlab实现(3)conv函数 功能:计算多维卷积。格式:与conv2函数相同(4)filter
33、2函数 功能:计算二维线性数字滤波,它与函数fspecial连用 格式:Y=filter2(B,X)Y=filter2(B,X,shape)说明:对于Y=filter2(B,X),filter2使用矩阵B中的二维FIR滤波器对数据X进行滤波,结果Y是通过二维互相关计算出来的,其大小与X一样;对于Y=filter2(B,X,Shape),filter2 返回的Y是通过二维互相关计算出来的.图像滤波的Matlab实现(5)fspecial函数 功能:产生预定义滤波器。格式:H=fspecial(type)H=fspecial(gaussian,n,sigma)H=fspecial(sobel)H=
34、fspecial(prewitt)H=fspecial(laplacian,alpha)H=fspecial(log,n,sigma)H=fspecial(average,n)H=fspecial(unsharp,alpha)图像滤波的Matlab实现说明:对于形式H=fspecial(type),fspecial函数产生一个由type指定的二维滤波器H,返回的H常与其他滤波搭配使用。type的可能值为下列之一:gaussian高斯低通滤波器 sobelSobel水平边缘增强滤波器 prewittPrewitt水平边缘增强滤波器 laplacian 近似二维拉普拉斯运算滤波器 log 高斯拉普
35、拉斯(LoG)运算滤波器 average均值滤波器 unshape模糊对比增强滤波器4.7 彩色增强 在图像的自动分析中,色彩是一种能够简化目标提取和分类的重要参数。虽然人眼只能分辨几十种不同深浅的灰度级,但是却能够分辨几千种不同的颜色,因此在图像处理中常常借助色彩处理图像,以增强人眼的视觉效果。通常采用的色彩增强方法可以分为伪彩色增强和真彩色增强2种。伪彩色增强是对原来灰度图像中不同灰度值区域分别赋予不同的颜色,使人眼能够更清楚地区分不同的灰度级。由于原图像事实上是没有颜色的,所以称这种人工赋予的颜色为伪彩色。伪彩色增强实质上只是一个图像的着色过程,是一种灰度到彩色的映射技术。真彩色增强则是
36、对原始图像本身所具有的颜色进行调节,是一个彩色到彩色的映射过程。由此可见,二者有着本质的区别。4.7.1 伪彩色增强 伪彩色增强是将一幅灰度图像变换为彩色图像,从而将人眼难以区分的灰度差异变换为极易区分的色彩差异。因为原始图像并没有颜色,将其变为彩色的过程实际上是一种人为控制的着色过程,所以称为伪彩色增强。常用的方法有密度分割、伪彩色变换和频域滤波3种。1 密度分割密度分割 密度分割是伪彩色增强中最简单而又最常用的一种方法,它是对图像的灰度值动态范围进行分割,使分割后的每一灰度值区间,甚至于每一灰度值本身对应某一种颜色。密度分割的示意图如图所示。伪彩色增强 假定把一幅图像看作一个二维的强度函数
37、,则可以用1个平行于图像坐标平面的平面(称为密度切割平面)去切割图像的强度函数,这样强度函数在分割处 li 被分为上、下2部分,即2个灰度值区间。如果再对每个区间赋予某种颜色,就可以将原来的灰度图像变换成只有2种颜色的图像。伪彩色增强 如果用N个平面去切割图像,则可以得到N+1个灰度值区间,每个区间对应某种颜色Ci。对于每一像元(x,y),如果li1f(x,y)li,则g(x,y)=ci(i=1,2,N),g(x,y)和f(x,y)分别表示变换后的彩色图像和原始灰度图像。如图所示。伪彩色增强2 伪彩色变换伪彩色变换 密度分割法实质上是通过一个分段线性函数实现从灰度到彩色的变换,每个像元只经过一
38、个变换对应到某种颜色。与密度分割不同,伪彩色变换则将每个像元的灰度值通过3个独立变换分别产生红、绿、蓝3个分量图像,然后将其合成为一幅彩色图像。3个变换是独立的,但在实际应用中这3个变换函数一般取同一类的函数,如可以取带绝对值的正弦函数,也可以取线性变换函数。伪彩色增强 下图给出了一组经典的变换函数,灰度值范围为0,L,每个变换取不同的分段线性函数。可以看出,最小的灰度值(0)对应蓝色,中间的灰度值(L/2)对应绿色,最高的灰度值(L)对应红色,其余的灰度值则分别对应不同的颜色。伪彩色增强伪彩色增强3 频域滤波频域滤波 伪彩色变换是直接在空间域对灰度进行变换,而频域滤波技术则是在图像的频率域对
39、频率分量进行处理,然后将其反变换到空间域。下图给出了频域滤波的示意图,首先将灰度图像从空间域经傅里叶变换变换到频率域;然后用3个不同传递特性的滤波器(如高通、带通、带阻、低通)将图像分离成3个独立分量,对每个范围内的频率分量分别进行反变换,再进行一定的后处理(如调节对比度或亮度);最后将其合成为一幅伪彩色图像。伪彩色变换和密度分割是将每一灰度值经过一定的变换与某一种颜色相对应;而频域滤波则是在不同的频率分量与颜色之间经过一定的变换建立了一种对应关系。伪彩色增强4.7.2 真彩色增强 在彩色图像处理中,选择合适的彩色模型是很重要的。电视摄像头和彩色扫描仪都是根据RGB模型工作的。为在屏幕上显示彩
40、色图像一定要借用RGB模型,但HIS模型在许多处理中有其独特的优点。首先,在HIS模型中,亮度分量与色度分量是分开的;其次,在HIS模型中,色调和饱和度的概念与人的感知是紧密相联的。如果将RGB图转化为HIS图,亮度分量和色度分量就分开了,前面讨论的灰度图的增强方法都可以使用。真彩色增强方法的基本步骤如下。(1)将R、G、B分量图转化为H、I、S分量图;(2)利用对灰度图增强的方法增强其中的I分量图;(3)再将结果转换为用R、G、B分量图来显示。4.7.3 彩色增强的Matlab实现 在Matlab中,调用imfilter函数对一幅真彩色(三维数据)图像使用二维滤波器进行滤波就相当于使用同一个
41、二维滤波器对数据的每个平面单独进行滤波。imfilter函数函数 功能:真彩色增强。格式:Bimfilter(A,h)说明:将原始图像A按指定的滤波器h进行滤波增强处理,增强后的图像B与A的尺寸和类型相同。彩色增强的Matlab实现 例4.10 以下代码将使用均值滤波器对图4.43(a)所示的真彩色图像的每个颜色平面进行滤波,滤波结果如图4.43(b)所示。rgb=imread(jpeppers.png);h=ones(5,5)/25;rgb2=imfilter(rgb,h);subplot(1,2,1),imshow(rgb)subplot(1,2,2),imshow(rgb2)彩色增强的Matlab实现图4.43真彩色图像均值滤波前后显示效果对比