直方图均衡化的介绍
直方图均衡化是一种简单有效的图像增强技术,通过改变图像的直方图来改变图像中各像素的灰度,主要用于增强动态范围偏小的图像的对比度。原始图像由于其灰度分布可能集中在较窄的区间,造成图像不够清晰。例如,过曝光图像的灰度级集中在高亮度范围内,而曝光不足将使图像灰度级集中在低亮度范围内。采用直方图均衡化,可以把原始图像的直方图变换为均匀分布(均衡)的形式,这样就增加了像素之间灰度值差别的动态范围,从而达到增强图像整体对比度的效果。换言之,直方图均衡化的基本原理是:对在图像中像素个数多的灰度值(即对画面起主要作用的灰度值)进行展宽,而对像素个数少的灰度值(即对画面不起主要作用的灰度值)进行归并,从而增大对比度,使图像清晰,达到增强的目的。举个例子,如图1所示,左图为原始图像,右图为直方图均衡化后的图像。
直方图的概念
对一幅灰度图像,其直方图反映了该图像中不同灰度级出现的统计情况。图2给出了一个直方图的示例,其中图(a)是一幅图像,其灰度直方图可表示为图(b),其中横轴表示图像的各灰度级,纵轴表示图像中各灰度级像素的个数。(需要注意,灰度直方图表示了在图像中各个单独灰度级的分布,而图像对比度则取决于相邻近像素之间灰度级的关系。)
图 3 灰度图像及其直方图
严格地说,图像的灰度直方图是一个一维的离散函数,可写成:
式中,nk是图像中灰度级为f(x,y)的像素的个数。直方图的每一列(称为bin)的高度对应
。直方图提供了原图中各种灰度值分布的情况,也可以说直方图给出了一幅图像所有灰度值的整体描述。直方图的均值和方差也是图像灰度的均值和方差。图像的视觉效果与其直方图有对应关系,或者说,直方图的形状和改变对图像有很大的影响。
在直方图的基础上,进一步定义归一化的直方图为灰度级出现的相对频率Pr(k)。即:
式中,N表示图像f(x,y)的像素的总数,nk是图像中灰度级为f(x,y)的像素的个数。我们以图1中左图为例,计算其归一化的直方图,结果如图4所示。
图 4 灰度图像及其归一化直方图
直方图均衡化的理论基础
为讨论方便起见,以 r 和 s 分别表示归一化了的原图像灰度和经直方图均衡化后的图像灰度(因为归一化了,所以 r 和 s 的取值在0到1之间)。当 r = s = 0时,表示黑色;当 r = s = 1时,表示白色;当 r, s ∈(0, 1)时,表示像素灰度在黑白之间变化。(所谓直方图均衡化,其实是根据直方图对像素点的灰度值进行变换,属于点操作范围。换言之,即:已知r,求其对应的s。)
在 [0,1] 区间内的任何一个 r ,经变换函数 T(r) 都可以产生一个对应的 s ,且
(公式3)
式中,T(r) 应当满足以下两个条件:
- 在 0 ≤ r ≤ 1 内,T(r) 为单调递增函数;(此条件保证了均衡化后图像的灰度级从黑到白的次序不变)
- 在 0 ≤ r ≤ 1 内有 0 ≤ T(r) ≤ 1。(此条件保证了均衡化后图像的像素灰度值在允许的范围内)
公式3的逆变换关系为:
(公式4)
式中,
对 s 同样满足上述的两个条件。