什么是直方图处理?
灰度级为[0, 𝐿 − 1] 范围的数字图像的直方图(Histogram)是离散函数 h ( r k ) = n k ( k = 0 , 1 , . . . , L − 1 ) ; h(r_k)=nk(k=0,1,...,L-1); h(rk)=nk(k=0,1,...,L−1);
- r k r_k rk是第k灰度级
- n k n_k nk是图像中灰度级为 r k r_k rk的像素的个数
归一化的直方图:
h
(
r
k
)
=
n
k
/
n
(
k
=
0
,
1
,
.
.
.
,
L
−
1
)
,
n
为
图
像
总
像
素
个
数
,
∑
k
h
(
r
k
)
=
1
h(r_k)=n_k/n(k=0,1,...,L-1),\quad n为图像总像素个数,\quad \sum_kh(r_k)=1
h(rk)=nk/n(k=0,1,...,L−1),n为图像总像素个数,k∑h(rk)=1
示例:
基于直方图的图像增强技术
直方图均衡
将原图像的直方图通过灰度变换函数𝑠 = 𝑇(𝑟)对灰度进行修正,使变换后的图像中各灰度级出现的几率相当, 变换后概率密度函数(PDF)为均匀分布。
目的:增加像素灰度值的动态范围,从而达到增强图像整体对比度的效果。
具体实现步骤:
- 首先确定目标::找变换函数𝑠 = 𝑇(𝑟)将𝑟映射为𝑠,其中:
- r r r和 s s s为两个随机变量,定义域和值域均为闭区间 [ 0 , L − 1 ] [0,L-1] [0,L−1],随机变量 r r r服从概率密度函数分别为 p r ( r ) p_r(r) pr(r)的分布,随机变量 s s s服从均匀分布 p s ( s ) p_s(s) ps(s),概率密度函数 p r ( r ) p_r(r) pr(r)和均匀分布 p s ( s ) p_s(s) ps(s)在区间 [ 0 , L − 1 ] [0,L-1] [0,L−1]上连续可微;
- T ( r ) T(r) T(r)为单调递增函数
- 找变换函数 s = T ( r ) s=T(r) s=T(r)
总结:
- 直方图均衡变换的连续形式:
s = T ( r ) = ( L − 1 ) ∫ 0 r p r ( r ) d r s=T(r)=(L-1)\int_0^rp_r(r)dr s=T(r)=(L−1)∫0rpr(r)dr - 直方图变换的离散形式:
s k = T ( r k ) = ( L − 1 ) ∑ j = 0 k p r ( r j ) = ( L − 1 ) M N ∑ j = 0 k n j , k = 0 , 1 , 2 , . . . , K − 1 s_k=T(r_k)=(L-1)\sum_{j=0}^kp_r(r_j)=\frac{(L-1)}{MN}\sum_{j=0}^kn_j,\quad k=0,1,2,...,K-1 sk=T(rk)=(L−1)j=0∑kpr(rj)=MN(L−1)j=0∑knj,k=0,1,2,...,K−1
示例:
4幅图所对应的变换函数 T ( r ) T(r) T(r):
总结:
- 如果与原始图像差别很大, 经直方图均衡化后的图像视觉效果接近。
- 高对比度图像经直方图均衡化后,质量可能变差。
- 直方图均衡化处理的核心是把原始图像的灰度直方图从比较集中的某个灰度区间变成全部灰度范围内的均匀分布。即对图像进行非线性拉伸,重新分配图像像素值,力图使等长区间内出现的像素数接近相等。
- 直方图均衡化能增强整个图像的对比度,改变图像亮度分配。
- 直方图均衡化后一般灰度级减少,这是由近似舍入造成,可能带来图像细节的损失。
- 两个占有较多像素的灰度变换后,灰度之间的差距会增大。一般,背景和目标占有较多像素,所以这种技术可以加大背景和目标的对比度。
- 在均衡过程中,原来的直方图上频数较小的灰度级被归入很少几个或一个灰度级内,造成细节损失:
- 若这些灰度级所构成的图像细节比较重要,则需采用局部区域直方图均衡;
- 一般,目标域背景的过渡处像素较少,由于归并,其或者变为背景或者变为目标点,从而使边界变得陡峭。
直方图均衡的优点
- 能自动增强整个图像的对比度
直方图均衡的缺点
- 变换后图像的灰度级减少,某些细节消失;
- 某些图像,例如直方图有高峰,经处理后对比度不自然的程度加大;
- 具体增强效果不易控制:总是得到全局均衡化的直方图,不能有选择低增强某个灰度值范围内的对比度;
- 只能产生唯一一个结果,不能用于交互式的图像增强应用。
直方图匹配(规定化)
修改一幅图像的直方图,使得它与另一幅图像的直方图匹配或者具有一种预先规定的函数形状。
目标:突出感兴趣的灰度范围,使图像质量改善。
这里用书中的一个例子: