第5章图像增强 图像采集过程中不可避免地会受到成像设备、噪声干扰及成像环境等多种因素的影 响,图像质量无法达到令人满意的效果。图像增强(maeehnemet)就是通过特定的 ignacn 处理技术,改善图像视觉效果或使图像变得更利于计算机处理。图像增强的基本原则是 不对原始图像的内容进行增加,有选择地突出便于人或机器分析的信息,抑制一些无用 的信息。图像增强的目的主要有两个:一是改善图像的视觉效果,提高图像清晰度;二是 使图像变得更有利于计算机处理。 图像增强的方法一般分为空间域增强和变换域增强两大类,空间域增强方法直接对 图像像素的灰度进行处理;变换域增强方法在图像的某个变换域中对变换系数进行处 理,然后通过逆变换获得增强图像。本章介绍的图像增强方法,主要包括基于灰度级变 换的图像增强、直方图修正增强、基于模板运算的图像增强(图像平滑和图像锐化)、频率 域图像增强和彩色图像增强等。 5.基于灰度级变换的图像增强 1 图像灰度级变换就是借助变换函数将输入图像像素灰度值映射成一个新的输出值, 通过改变像素的亮度值来增强图像,如式(5-1)所示。 g(x,=T[x,( y)f(y)] 51) 其中,f(x,是输入图像;x,是变换后的图像; y) g(y) T 是灰度级变换函数。可以看出, 不同的变换函数 T 将导致不同的输出,其实现变换效果也不一样。根据变换函数的不 同,灰度级变换可以分为线性灰度级变换和非线性灰度级变换。灰度级变换可使图像的 动态范围增大,图像对比度扩展,图像变清晰,特征明显,是图像增强的重要手段之一。 5.1.1 线性灰度级变换 1. 基本线性灰度级变换 基本线性灰度级变换示意图如图5.其中, 1(为正比例线性灰度级变 换,图5.b) 1所示, 图5.a) 1(为基本线性灰度级变换。 (1)正比例线性灰度级变换定义为 g(y)=f(y)tanα 5 x,x,·(2) 1 08 图5.1 线性灰度级变换示意图 由图5.1(a)可以看出,正比例线性灰度级变换的效果由变换函数斜率k=tanα 决定: 当k=1时,灰度值范围没有发生变化,图像无变化; 当k<1时,变换后灰度值范围压缩,图像均匀变暗; 当k>1时,变换后灰度值范围拉伸,图像均匀变亮。 【例5-1】 正比例线性灰度级变换程序。 解:MATLAB代码如下所示: I=imread('cameraman.jpg'); J=I*0.5; K=I*2; imwrite(J,'线性灰度级变暗.jpg'); imwrite(K,'线性灰度级变亮.jpg'); 正比例线性灰度级变换结果如图5.2所示。 图5.2 正比例线性灰度级变换结果 (2)基本线性灰度级变换如图5.1(b)所示。令原图像f(x,y)的灰度值范围为[a,b], 线性变换后图像g(x,y)的范围为[a',b'],则g(x,y)与f(x,y)之间的关系式为 g(x,y)=a'+b'-a' b-a [f(x,y)-a] (5-3) 【例5-2】 基本线性灰度级变换示例。 解:MATLAB代码如下所示: 1 09 I=imread('cameraman.jpg'); [M,N]=size(I); I=im2double(I); out=zeros(M,N); X1=0.3;Y1=0.15; X2=0.7;Y2=0.85; for i=1:M for j=1:N if I(i,j)X2 out(i,j)=(I(i,j)-X2)*(1-Y2)/(1-X2)+Y2; else out(i,j)=(I(i,j)-X1)*(Y2-Y1)/(X2-X1)+Y1; end end end imwrite(out,'基本线性灰度级变换后图像.bmp') subplot(1,2,1),imshow(I,[]),title('原始图像'); subplot(1,2,2),imshow(out,[]),title('基本线性灰度级变换后的图像'); 程序运行结果如图5.3所示。 图5.3 基本线性灰度级变换结果 曝光不足或过度的情况下,图像灰度级会局限在一个很小的范围内,这时的图像模 糊不清、没有灰度层次。采用基本线性灰度级变换对图像像素灰度级变换,将有效地改 善图像视觉效果。 2.分段线性灰度级变换 分段线性灰度级变换是将输入图像f(i,j)的灰度级区间分成两段或多段,分别进行 线性灰度级变换,以突出感兴趣的目标或灰度级区间,抑制不感兴趣的灰度级区间,得到 增强后图像g(i,j)。常用的三段线性变换如图5.4所示,对应的数学表达式为 g(i,j)= (c/a)f(i,j), 0≤f(i,j)a && Image(y,x)c && Image(y,x)1 时,幂次变换可以扩展原始图像的中高灰度级、压缩低灰度级,从而使 图像变暗,增强原始图像中亮区的细节。 幂次变换常用于图像获取、打印和显示的各种装置设备的伽马校正中,这些装置设 备的光电转换特性都是非线性的,是根据幂次规律产生响应的。幂次变换的指数值就是 113 1 14 伽马值,因此幂次变换也称为伽马变换。 【例5-5】 非线性灰度级变换示例。 解:MATLAB代码如下所示: Image=imread('cameraman.tif'); imwrite(Image,'GGoldilocks.bmp'); Image=double(Image); NewImage1=46*log(Image+1); %对数函数非线性灰度级变换 NewImage2=185*exp(0.325*(Image-225)/30)+1; %指数函数非线性灰度级变换 a=0.5; c=1.1; NewImage3=[(Image/255).^a]*255*c; imwrite(uint8(NewImage1),'对数.bmp'); imwrite(uint8(NewImage2),'指数.bmp'); imwrite(uint8(NewImage3),'幂次.bmp'); imshow(Image,[]);title('原图像'); figure;imshow(NewImage1,[]);title('对数函数非线性灰度级变换'); figure;imshow(NewImage2,[]);title('指数函数非线性灰度级变换'); figure;imshow(NewImage3,[]);title('幂次函数非线性灰度级变换'); 程序运行结果如图5.11所示。 图5.11 非线性灰度级变换处理结果 5.1.3 直方图增强 直方图反映图像灰度分布的统计特征。通过灰度变换改变图像的对比度进行图像 增强,图像的直方图也要发生变化,但是基于灰度级变换的增强技术只着眼于改变全部 或局部的对比度,而不考虑图像的直方图如何变化。直方图增强技术是以直方图作为变 换的依据,使变换后的图像直方图成为期望的形状。事实证明,通过修正图像直方图进 行图像增强是一种有效的图像增强方法。 1.灰度直方图的定义 数字图像的直方图是一个离散函数,它表示数字图像中每一灰度与其出现概率间的 统计关系。通常,用横坐标表示灰度级,纵坐标表示频数或相对频数(呈现该灰度级的像 素出现的概率)。灰度直方图的定义如式(5-8)所示。 P(= nk (5-8) rk ) 其中, N 为一幅数字图像的总像素数;是第kN 级灰度的像素数;表示第 k 个灰度级; nk rk P(为该灰度级rk 出现的相对频数。直方图能够反映数字图像的概貌性描述,例如, rk ) 图像的灰度范围、灰度的分布、整幅图像的平均亮度和明暗对比度等,并可以由此得出进 一步处理的重要依据。标准lena图像的灰度直方图如图5. 12所示。 图5.12 lena 图像及其灰度直方图 MATLAB中显示图像灰度直方图的函数是: imhist(N):统计并显示图像I的直方图,默认为256; I,N为灰度级, imhist(X,MAP):统计并显示索引图像X的直方图,MAP为调色板; 向量 [ 。 COUNTS,X]=imhist( . ):返回直方图数据向量COUNTS和相应的颜色值 例如,一幅6×6的图像,如图5.所示,共有07八个灰度级,灰度分布统计如 表5.画出其灰度直方图如图5.所示。 13(a) ~ 1所示, 13(b) 图5.13 数字图像及其直方图 表5.图5.a)的灰度分布统计 1 13( rk nk P(rk ) 0 6 6/36 1 9 9/36 2 6 6/36 3 5 5/36 115 续表 1 16 rk nk P(rk ) 4 4 4/36 5 3 3/36 6 2 2/36 7 1 1/36 【例5-6】 基于MATLAB编程统计图像的灰度直方图。 解:MATLAB代码如下所示: Image=imread('lena256.bmp'); histgram=zeros(256); [h w]=size(Image); for x=1:w for y=1:h %循环扫描 histgram(Image(y,x)+1)=histgram(Image(y,x)+1)+1; %统计并累加 end end figure,imshow(Image);title('原图像'); figure,stem(histgram(),'.'); %title('定义统计灰度直方图'); axis tight; colormap(gray) figure,imhist(Image); %title('系统函数统计灰度直方图'); axis tight; colormap(gray); 程序运行结果如图5.14所示,图5.14(a)为原图像,图5.14(b)和图5.14(c)分别为原 图像按定义编程统计和按MATLAB自带的imhist函数统计的灰度直方图,其横坐标均 为像素灰度值,纵坐标均为各个灰度值出现的次数,可见二者是一致的。 图5.14 图像及其灰度直方图 2.灰度直方图的性质 仅从直方图不能完整地描述一幅图像,因为一幅图像对应一幅直方图,而一幅直方 图可以对应多幅图像。图像的灰度直方图通常具有如下性质。