数图笔记之直方图

基本概念

  • 图像直方图:数字图像直方图是离散函数 h ( r k ) = n k \mathcal{h}(r_k)=n_k h(rk)=nk,其中 r k r_k rk 是指第 k k k 级灰度, n k n_k nk 是图像中灰度级为 r k r_k rk 的像素值的个数。若用图像中的每个灰度级对应的 n k n_k nk 除以它的像素个数的总数,就是归一化的直方图。一般情况下,若图像的直方图成均匀分布态势,则图像的对比度会较高且有比较丰富的灰度色调
  • 直方图均衡:其目的是使得图像的灰度值分布尽可能地“均匀”的分布到各个级别,从而提高灰度对比,使得图像的视觉效果更好。具体如下实例:
    数图笔记之直方图_第1张图片
  • 局部直方图均衡:将图像分成若干块,对每块单独作均衡处理

直方图均衡化理论证明

找到一个变换函数 s = h ( r ) s = h(r) s=h(r),使得该函数具有如下性质:

  • 单调递增——目的是为了”可逆/可还原“变换
  • rand ( h ( r ) ) ∈ [ 0 , L − 1 ] \text{rand}(h(r)) \in [0, L-1] rand(h(r))[0,L1]

即直方图均衡化的变换函数必须满足上述两个性质

注意到,若变换后的变量 s s s 是一个具有均匀概率密度的随机变量时,则意味着有 s s s 所生成的图像对应的直方图是均匀分布的,即均衡的。下面就要找到这样一个变换函数。
其实,存在如下变换: (1) s = T ( r ) = ( L − 1 ) ∫ 0 r p r ( w ) d w , s = T(r) = (L-1) \int_0^r{p_r(w)dw},\tag{1} s=T(r)=(L1)0rpr(w)dw(1)
其中 p r ( w ) p_r(w) pr(w) r r r 的概率密度函数。实质上,该变换函数 T T T r r r 的累积概率分布函数,它一定是满足上述的两个性质的。同时,经过该变换后得到的随机变量 s s s,其概率密度函数也必定是均匀分布的。下面证明这一点:


(2) d s d r = d T ( r ) d r = ( L − 1 ) d d r ∫ 0 r p r ( w ) d w = ( L − 1 ) p r ( r ) > 0 \frac{ds}{dr} = \frac{dT(r)}{dr} = (L - 1) \frac{d}{dr} \int_0^rp_r(w)dw = (L - 1) p_r(r) > 0 \tag{2} drds=drdT(r)=(L1)drd0rpr(w)dw=(L1)pr(r)>0(2)
又由基本概率论可知,对于 p r ( r ) p_r(r) pr(r) p s ( s ) p_s(s) ps(s),其各自表示随机变量 r r r s s s 的概率密度函数, s s s 为变换后的随机变量, r r r 为变换前的随机变量,那么它们具有如下公式:
(3) p s ( s ) = p r ( r ) ∣ d r d s ∣ p_s(s) = p_r(r) \left|\frac{dr}{ds}\right| \tag{3} ps(s)=pr(r)dsdr(3)
故将(2)代入(3)可得:
(4) p s ( s ) = p r ( r ) ∣ d r d s ∣ = p r ( r ) ∣ 1 ( L − 1 ) p r ( r ) ∣ = 1 L − 1 p_s(s) = p_r(r) \left|\frac{dr}{ds}\right| = p_r(r) \left|\frac{1}{(L - 1)p_r(r)}\right| = \frac{1}{L - 1} \tag{4} ps(s)=pr(r)dsdr=pr(r)(L1)pr(r)1=L11(4)
由(4)可得, s s s 是一个具有均匀概率密度的随机变量。这意味着由 s s s 生成的图像所对应的直方图是均匀分布的,变换函数 T T T 即为直方图均衡变换函数

以上就是变换函数 T T T 为什么可对直方图进行均衡化处理的理论证明,公式(1)即为连续情况下直方图均衡化的核心公式

直方图均衡化示例

下面举个例子来说明如何对二维离散图像进行直方图均衡化
给定如下 3×3 大小的图像,其灰度级别为 [ 0 , 3 ] [0, 3] [0,3],即 L = 4 L = 4 L=4
[ 0 3 3 1 2 3 2 0 0 ] \left[\begin{array}{lll} 0 & 3 & 3 \\[.4em] 1 & 2 & 3 \\[.4em] 2 & 0 & 0 \end{array}\right] 012320330
该图像的各个像素值 r r r 对应的概率密度函数 p r ( r ) p_r(r) pr(r) 为: p r ( 0 ) = 3 9 , p r ( 1 ) = 1 9 , p r ( 2 ) = 2 9 , p r ( 3 ) = 3 9 p_r(0) = \displaystyle\frac{3}{9}, p_r(1) = \displaystyle\frac{1}{9}, p_r(2) = \displaystyle\frac{2}{9}, p_r(3) = \displaystyle\frac{3}{9} pr(0)=93,pr(1)=91,pr(2)=92,pr(3)=93。所以根据公式(1),其在离散变量下对应的输出像素 s s s 为: T ( 0 ) = 3 p r ( 0 ) = 1 , T ( 1 ) = 3 ∑ i = 0 1 p r ( i ) = 4 3 , T ( 2 ) = 3 ∑ i = 0 2 p r ( i ) = 2 , T ( 3 ) = 3 ∑ i = 0 3 p r ( i ) = 3 T(0) = 3 p_r(0) = 1, T(1) = 3 \displaystyle\sum_{i=0}^1{p_r(i)} = \displaystyle\frac{4}{3}, T(2) = 3 \displaystyle\sum_{i=0}^2{p_r(i)} = 2, T(3) = 3 \displaystyle\sum_{i=0}^3{p_r(i)} = 3 T(0)=3pr(0)=1,T(1)=3i=01pr(i)=34T(2)=3i=02pr(i)=2,T(3)=3i=03pr(i)=3,故其均衡化后的输出图像为:
[ 1 3 3 4 3 2 3 2 1 1 ] \left[\begin{array}{lll} 1 & 3 & 3 \\[.4em] \displaystyle\frac{4}{3} & 2 & 3 \\[.8em] 2 & 1 & 1 \end{array}\right] 1342321331

在图像增强中使用直方图统计

涉及公式:

  • 图像灰度分布概率: p ( r i ) = n i n , i = 1 , 2 , … , L − 1 p(r_i) = \displaystyle\frac{n_i}{n}, i=1,2,\dots,L-1 p(ri)=nni,i=1,2,,L1,其中 n i n_i ni 表示灰度级为 i i i 的像素点个数, n n n 为总的像素点个数
  • 图像灰度平均值: m = ∑ i = 1 L − 1 r i p ( r i ) m = \displaystyle\sum_{i=1}^{L-1}{r_i p(r_i)} m=i=1L1rip(ri) —— 衡量图像整体是偏暗还是偏亮。若该值偏大,则说明偏亮;否则相反
  • 图像灰度方差: μ = ∑ i = 1 L − 1 ( r i − m ) 2 p ( r i ) \mu = \displaystyle\sum_{i=1}^{L-1}{(r_i - m)^2 p(r_i)} μ=i=1L1(rim)2p(ri) —— 衡量图像整体的灰度变化是否明显,即对比度是否高。若该值偏大,则说明对比度高;否则相反

具体应用例子:

  1. 如何判断图像的某个像素点是否处于边缘处?

    取以该像素点为中心的一个领域,统计该领域内所有像素的方差 μ \mu μ。若 μ \mu μ 偏大,则说明该像素点处于边缘处,否则不是

  2. 如何判断图像的某个像素点是否处于较黑暗处?

    取以该像素点为中心的一个领域,统计该领域内所有像素的均值 m m m。若 m m m 偏小,则说明该像素点处于偏暗处,否则不是

你可能感兴趣的:(数字图像处理)