直方图均衡化的目的是对比度增强,对比度指图像灰阶渐进层次,渐变层次越多,色彩表现就越丰富,越清晰醒目,对比度增强就是增加渐变层次。
直方图均衡化的实现方式:图像的对比度小,在其直方图上的体现是过于集中于较小的灰度级范围,如图:
如何使直方图覆盖更广的灰度级呢?只需要将灰度值映射到更广的灰度级范围就可以了,如使用幂次函数变换s = cr^q;对数变换;n次方根变换等,这样的函数变换进行灰度级扩散时函数图像都是向上抛的曲线,当进行灰度级压缩时是向下凹的。
直方图均衡化的原理也类似,就是通过一个函数来扩宽灰度级范围,只不过该函数与直方图相关,这个函数叫做累积分布函数(CDF),它的特殊之处在于经过它映射的图像的直方图(也就是概率密度函数)是近似均匀的(为什么是近似?像素值是离散的,后面会有解释)。
累积分布函数(CDF)的表达式如下:
其中Pr(w)是原图的像素值的概率密度函数(直方图)。
由基本概率理论:如果Pr(r)和T(r)已知,且T-1(s)满足r的值域内单调递增,那么变换变量S的概率密度函数Ps(s)可以由下列公式得到:
而:
故:
由以上推导可知经过CDF函数映射后的图像的像素值的概率密度函数是均匀的,CDF函数只与图像本身有关且始终是均匀的,这是使用CDF来做图像增强的优点。
由于像素值是离散的,不能像上面的推导过程来求CDF函数,而是使用概率及概率累积:
这是为什么我们不能得到完美的均匀直方图,经过直方图均衡化处理后的效果:
可以看出灰度级范围扩宽了,图像也明亮了许多。
理解直方图均衡化后,直方图匹配(规定化)就容易理解了,就是直方图均衡化后,再根据给定的直方图函数进行逆变换。
参考:
1、维基百科 直方图均衡化
2、冈萨雷斯 第三章