1、14 点运算点运算(灰度变换)(灰度变换)24.1 引言引言点运算又可称为点运算又可称为对比度增强对比度增强、对比度拉对比度拉伸伸或或灰度变换灰度变换。在图象处理中,点运算是在图象处理中,点运算是简单简单却很却很重要重要的一类技术,它们能让用户改变图象数据占的一类技术,它们能让用户改变图象数据占据的灰度范围,当显示一幅图象时,点运算据的灰度范围,当显示一幅图象时,点运算的作用尤其明显。的作用尤其明显。3对于一幅输入图象,经过点运算将产生对于一幅输入图象,经过点运算将产生一幅输出图象,一幅输出图象,后者的每个象素点的灰度值后者的每个象素点的灰度值仅由对应输入象素点的值决定仅由对应输入象素点的值决
2、定。因此,。因此,点运点运算不可能改变图象内的空间关系算不可能改变图象内的空间关系。点运算以预定的方式改变一幅图象的灰点运算以预定的方式改变一幅图象的灰度直方图。除了灰度级的改变是根据某种特度直方图。除了灰度级的改变是根据某种特定的灰度变换函数进行之外,点运算可以看定的灰度变换函数进行之外,点运算可以看作是作是“从象素到象素从象素到象素”的复制操作。若的复制操作。若输入输入图象为图象为f(x,y),输出图象为输出图象为g(x,y),则点运算,则点运算可表示为可表示为 4g(x,y)=ENf(x,y)(4.1)点运算可以完全由点运算可以完全由灰度变换函数灰度变换函数EN(D)确定,后者描述了输入
3、灰度级和输出灰度级确定,后者描述了输入灰度级和输出灰度级之间的映射关系。在这种情况下,之间的映射关系。在这种情况下,g()的值的值取决于在取决于在(x,y)处的处的f()值值,而而EN就是一个灰就是一个灰度变换度变换。如。如以以s和和t分别代表分别代表f()和和g()在在(x,y)位位置处的灰度值置处的灰度值,则此时的式,则此时的式4.1可写成:可写成:t=EN(s)(4.2)5常见应用是常见应用是改变动态范围改变动态范围和和对比度对比度,最,最简单且行之有效的办法是简单且行之有效的办法是修改灰度修改灰度。假定原。假定原图为图为f(x,y),改变后的图为,改变后的图为g(x,y)。修改灰。修改
4、灰度是使用一种变换关系曲线或查表表示来实度是使用一种变换关系曲线或查表表示来实现动态范围和对比度的改变。图现动态范围和对比度的改变。图4.1 是修改是修改灰度以期改变对比度和动态范围的简单例子。灰度以期改变对比度和动态范围的简单例子。6图图4.1 灰度变换关系灰度变换关系 3 3 4 4 2 3 4 5 2 3 4 5 2 3 4 5 s象素数0642246 72222200044444666t象素数0642246 7st0010203244566777st07642246 77灰度变换过程可用如下框图描述:灰度变换过程可用如下框图描述:同一象素,其灰度为同一象素,其灰度为 t任一象素,其灰度
5、为任一象素,其灰度为 st=EH(s)直接灰度变换直接灰度变换方法很多方法很多,以下介绍几种,以下介绍几种常用的(设常用的(设 s 的取值范围为的取值范围为0smax,t 的取值的取值范围为范围为0tmax)。)。4.2 直接灰度变换直接灰度变换84.2.1 反转图反转图 求反转图相当于在照相求反转图相当于在照相底片和印像底片和印像之间之间变换。变换。变换曲线是一条直线变换曲线是一条直线如图如图4.2 所示。所示。st=EH(s)smaxtmax0图图4.2 图象反转变换曲线及其效果图象反转变换曲线及其效果94.2.2 增强对比度增强对比度 增强图象对比度实际是增强原图的增强图象对比度实际是增
6、强原图的各部分各部分的反差的反差。实际中往往是通过增加原图里。实际中往往是通过增加原图里某两个某两个灰度值间的动态范围灰度值间的动态范围来实现的。如图来实现的。如图4.3,(b)中的折线给出了一个变换,将原图中的折线给出了一个变换,将原图(a)中灰度中灰度值在值在s1和和s2之间的动态范围增加了,从而在这之间的动态范围增加了,从而在这个范围内的对比度增强了。而在这个范围之外个范围内的对比度增强了。而在这个范围之外的灰度值动态范围减小了,本例中,实际上动的灰度值动态范围减小了,本例中,实际上动态范围被压缩为态范围被压缩为0,只取两端的固定值。如图,只取两端的固定值。如图4.4所示。所示。10st
7、=EH(s)smaxtmaxtH(t)tmax(a)(c)(b)图图4.3 增强对比度变换增强对比度变换(a)原始图象直方图原始图象直方图(b)变换曲线变换曲线(c)输出图象直方图输出图象直方图smaxsH(s)s1s211st=EH(s)smaxtmaxtH(t)tmax(b)图图4.4 增强对比度变换增强对比度变换(a)原始图象直方图原始图象直方图(b)变换曲线变换曲线(c)输出图象直方图输出图象直方图(c)smaxsH(s)(a)12预测输出直方图预测输出直方图134.2.3 动态范围压缩动态范围压缩 现代现代CCD 相机的灰度级可达到相机的灰度级可达到14 bits,而一般显示器的动态
8、范围只有而一般显示器的动态范围只有8 bits,打印纸,打印纸上则更低。因此图象要经上则更低。因此图象要经压缩动态范围才易压缩动态范围才易于观看于观看,保证原图中的细节不丢失。一种常,保证原图中的细节不丢失。一种常用的压缩方法是用的压缩方法是借助对数函数借助对数函数完成,如图完成,如图4.5中曲线所示。灰度变换关系:中曲线所示。灰度变换关系:14t=C log(1+|s|)(4.3)其中其中C为尺度比例常数。为尺度比例常数。st=EH(s)smaxtmax图图4.5 动态范围压缩动态范围压缩154.2.4 灰度切分灰度切分 这种方法这种方法强调某一灰度级范围强调某一灰度级范围的象素,的象素,而
9、对不在感兴趣范围内的象素或者使其灰度而对不在感兴趣范围内的象素或者使其灰度不变,或者降低。如图不变,或者降低。如图4.6 所示。所示。16图图4.6 感兴趣的灰度为感兴趣的灰度为s1-s2,增强该范围的灰度,增强该范围的灰度(a)其它灰度范围的象素灰度取低值其它灰度范围的象素灰度取低值 (b)其它象素灰度不变其它象素灰度不变smaxst=EH(s)tmaxs1s2smaxst=EH(s)tmaxs1s2(b)(a)174.2.5 其它灰度变换其它灰度变换函数曲线函数曲线 在对比度处理法中,根据不同的目的可在对比度处理法中,根据不同的目的可以设计出不同的转换函数。图以设计出不同的转换函数。图4.
10、7(a)(b)(c)是是区域扩展区域扩展的几种变换曲线。图的几种变换曲线。图4.7(d)是是线线性转换性转换函数,这种函数将图象在整个灰度范函数,这种函数将图象在整个灰度范围内作线性映射。当其斜率围内作线性映射。当其斜率大于大于1时时,为,为对对比度增强比度增强变换;当斜率变换;当斜率小于小于1时时,为,为对比度对比度减弱减弱变换;当斜率变换;当斜率等于等于1时时,为,为直接复制直接复制操操作。作。18图图4.7(e)所示是所示是锯齿状锯齿状变换函数,它可以将变换函数,它可以将几段较窄的输入灰度区间都扩展到整个输出几段较窄的输入灰度区间都扩展到整个输出灰度范围内,这种处理可以把灰度变化较平灰度
11、范围内,这种处理可以把灰度变化较平缓的区域也较明显地显示出来。图缓的区域也较明显地显示出来。图4.7(f)的的变换可将灰度图象变换可将灰度图象二值化二值化。19st=EH(s)smaxt maxst=EH(s)smaxt max扩展亮区扩展亮区st=EH(s)smaxt max扩展中部扩展中部st=EH(s)smaxt maxst=EH(s)smaxt maxst=EH(s)smaxt max扩展暗区扩展暗区线性映射线性映射二值化二值化锯齿状变换锯齿状变换(a)(b)(c)(d)(e)(f)图图4.7 几种常用的几种常用的灰度变换函数曲线灰度变换函数曲线20例:例:线性(分段线性)线性(分段线
12、性)214.3 直方图处理直方图处理4.3.1 直方图直方图均衡化均衡化 将原始图象的直方图变换为将原始图象的直方图变换为均匀分布均匀分布的的形式,从而形式,从而增加象素灰度值的动态范围增加象素灰度值的动态范围,达,达到增强图象到增强图象整体对比度整体对比度的效果。直方图均衡的效果。直方图均衡化是化是通过灰度变换通过灰度变换将一幅图象转换为另一幅将一幅图象转换为另一幅具有均衡直方图,即在每个灰度级上都具有具有均衡直方图,即在每个灰度级上都具有相同的象素点数的过程。相同的象素点数的过程。22方法:计算方法:计算累计分布函数累计分布函数(Cumulative Distribution Functi
13、on,CDF),并将其作为灰,并将其作为灰度变换函数度变换函数t=EH(s),从而从而将原始图象的关于将原始图象的关于灰度灰度s的分布直方图,转换为关于灰度的分布直方图,转换为关于灰度t的均的均匀分布匀分布。23原理:从灰度直方图定义出发加以证明,原理:从灰度直方图定义出发加以证明,设图象面积为设图象面积为A0,其灰度已经进行归一化处,其灰度已经进行归一化处理理 s 0,1(4.4)ps(s)为图象中灰度值为图象中灰度值s出现的频率出现的频率,ps(s)ds 表现图象中灰度为表现图象中灰度为s,s+ds的的象素面积象素面积在整个图象中占的在整个图象中占的比例比例。经过。经过 t=EH(s)的映
14、的映射,其射,其灰度改变而面积不变灰度改变而面积不变,因此:,因此:00)()(lim)(AssAssAspss24pt(t)dt=ps(s)ds(4.5)考虑考虑原始图象原始图象f(x,y)在在0,s 灰度范围内象灰度范围内象素面积占图象面积的比率素面积占图象面积的比率F(s):(4.6)考虑考虑变换后图象变换后图象g(x,y)在对应的在对应的 0,t 灰灰度范围内象素面积占图象面积的比率度范围内象素面积占图象面积的比率G(t):(4.7)ssdsspsF0)()(ttdttptG0)()(25变换前后变换前后上述上述象素在图象中所占比率不象素在图象中所占比率不变变,因此有:,因此有:G(t
15、)=F(s),即即(4.8)均衡化的直方图均衡化的直方图应应保证保证 pt(t)=1,因此,因此(4.9)故有:故有:(4.10)sttsdttpdssp00)()(tssdsspdt00)(ssdsspsEHt0)()(26对于对于数字图象数字图象的直方图均衡化,计算公的直方图均衡化,计算公式:式:0 sk 1,k=0,1,L-1(4.11)下图是直方图均衡化后的飞机图片及其下图是直方图均衡化后的飞机图片及其直方图,可见其直方图与原图的直方图相比直方图,可见其直方图与原图的直方图相比是很均衡的,但是很均衡的,但必须说明必须说明的是,的是,离散情况下离散情况下不可能作到绝对的一致不可能作到绝对
16、的一致。kikiisikkspnnsEHt00)()(27图图4.9 直方图均衡化示例直方图均衡化示例 284.3.2 直方图规定化直方图规定化(规范化、匹配)(规范化、匹配)直方图规范化是指将一幅图象通过灰度直方图规范化是指将一幅图象通过灰度变换后,使其变换后,使其具有特定的直方图具有特定的直方图形式,如使形式,如使图象与某一标准图象具有相同的直方图,或图象与某一标准图象具有相同的直方图,或使图象具有某一特定函数形式。例如,同一使图象具有某一特定函数形式。例如,同一场景被在不同的光照条件下数字化为两幅图场景被在不同的光照条件下数字化为两幅图象,在对这两幅图象进行比较之前,就可用象,在对这两幅图象进行比较之前,就可用这种变换。这种变换。294.4 本章要点本章要点 直接灰度变换的直接灰度变换的特点特点直接灰度变换:已知原图及变换曲线,直接灰度变换:已知原图及变换曲线,可可求出新图求出新图。30作业作业步骤1 在网上查找图像lena.gif 或图像girl.gif等,调入matlab并显示;步骤2 在图像lena.gif 和图像girl.gif 的数据上进行加、减、乘、除一个常数,观察计算结果;步骤3 利用imcrop 函数对图像lena.gif 的头部进行剪裁,然后显示剪裁的结果。