直方图均衡化(Histogram Equalization)是数字图像处理领域经典的增强图像对比度(Image Contrast)的方法。
其主要思想是将一副图像的直方图分布变成近似均匀分布,从而增强图像的对比度。
举个例子:
直方图均衡(前 后)
·1 直方图是什么?
我的理解是:直方图是一个自变量为离散的灰度级的函数
函数表达式:h(rk)=nk
自变量rk是第k级灰度值,nk是图像中灰度为rk的像素个数
实际操纵中常常把直方图归一化,即p(rk)=nk/MN
M和N是图像的行数和列数,nk/MN是像素在所有像素所占的比例,这样来看,直方图p(rk)就是灰度级rk在图像中出现的概率的估计,所有分量之和为1。
·2什么是对比度?
我的理解是:对比度就是图像中从黑到白之间可辨的灰度级层数
对比度高,图像的层次感越强,图像越鲜明;对比度越低,图片的层次感越低,图片越单薄。
·3 直方图均衡原理
前提假设:r表示待处理图像每一点的灰度,r取值区间【0,L-1】 L=256 r=0表示黑色,r=L-1表示白色
定义变换函数:s=T(r);
附加条件:
①T(r)严格单调递增
②T(r)取值区间【0,L】
表示对图像每个具有r灰度的像素产生一个输出值T(r)=s.
条件①中要求T(r)严格单调是为了保证T(r)有反函数
条件②保证反变换时输出灰度范围与输入灰度范围一致
定义反函数 :r=T^(-1)s);
学过概率论应该清楚,描绘变量r、s的基本描绘子是其概率密度函数,这里定义pr(r)和ps(s)分别为r和s的概率密度函数。
如果pr(r)和T(r)都清楚,那么: ps(s)=pr(r)|dr/ds|
即输出灰度值s的概率密度由输入r的概率密度和变换函数决定
构造
w是积分假变量公式右边是r的分布函数,当式子中的上限r=L-1时,积分值为1,即s最大值是L-1。
则得到以下关系:
带入(c)式得到:
这是一个均匀概率密度函数,同时是一个恒等式。不要忘了s是输出灰度值。
这样,我们用式(d)的变换,每输入一个灰度值r就能得到一个概率密度为常数的灰度值s,即实现了灰度值均衡,而且这个变换T(r)与p(r)无关,这个变换函数的离散形式为直方图均衡函数。
·4 直方图均衡效果
直方图均衡化就是将一副图像的灰度直方图由窄变宽,由不规则变得平均,但由于实际的灰度值输入一定是离散的,所以生成的均衡后的直方图也不会完全平均。
不过直方图均衡对于低对比度图片的增强效果还是十分明显的,正如我们开篇的那两张经典花粉图像一样。
完整实现代码见【数字图像处理】直方图均衡浅析
个人公众号:凡古一往
网友评论