直方图均衡化(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®;
附加条件:
①T(r)严格单调递增
②T(r)取值区间【0,L】
表示对图像每个具有r灰度的像素产生一个输出值T®=s.
条件①中要求T(r)严格单调是为了保证T®有反函数
条件②保证反变换时输出灰度范围与输入灰度范围一致
定义反函数 :r=T^(-1)s);
学过概率论应该清楚,描绘变量r、s的基本描绘子是其概率密度函数,这里定义pr(r)和ps(s)分别为r和s的概率密度函数。
如果pr(r)和T(r)都清楚,那么: ps(s)=pr(r)|dr/ds|
即输出灰度值s的概率密度由输入r的概率密度和变换函数决定
构造 s = T ( r ) = ( L − 1 ) ∫ 0 r p ( w ) d w s=T(r)=(L-1)\int_{0}^{r}p(w)dw s=T(r)=(L−1)∫0rp(w)dw
w是积分假变量公式右边是r的分布函数,当式子中的上限r=L-1时,积分值为1,即s最大值是L-1。
则得到以下关系:
d
s
d
r
=
d
T
(
r
)
d
r
=
(
L
−
1
)
d
(
∫
0
r
p
(
w
)
d
w
)
d
r
=
(
L
−
1
)
p
(
r
)
\frac{ds}{dr} =\frac{dT(r)}{dr} =(L-1)\frac{d(\int_{0}^{r}p(w)dw )}{dr} =(L-1)p(r)
drds=drdT(r)=(L−1)drd(∫0rp(w)dw)=(L−1)p(r)
带入(c)式得到:
p
(
s
)
=
p
(
r
)
∣
d
s
d
r
∣
=
p
(
r
)
∣
1
(
L
−
1
)
p
(
r
)
∣
=
1
L
−
1
p(s)=p(r)|\frac{ds}{dr}| =p(r)|\frac{1}{(L-1)p(r)} |=\frac{1}{L-1}
p(s)=p(r)∣drds∣=p(r)∣(L−1)p(r)1∣=L−11
这是一个均匀概率密度函数,同时是一个恒等式。不要忘了s是输出灰度值。
这样,我们用式(d)的变换,每输入一个灰度值r就能得到一个概率密度为常数的灰度值s,即实现了灰度值均衡,而且这个变换T(r)与p(r)无关,这个变换函数的离散形式为直方图均衡函数。
·4 直方图均衡效果
直方图均衡化就是将一副图像的灰度直方图由窄变宽,由不规则变得平均,但由于实际的灰度值输入一定是离散的,所以生成的均衡后的直方图也不会完全平均。
不过直方图均衡对于低对比度图片的增强效果还是十分明显的,正如我们开篇的那两张经典花粉图像一样。
完整代码请点击
数字图像处理实验二直方图均衡C语言.zip
或关注公众号:凡古一往
后台回复:直方图均衡 获取