直方图均衡

直方图均衡(Histogram Equalization)

1. 灰度变换前后直方图的关系

  • 灰度变换

    DB=f(DA)D_B=f(D_A)

  • 灰度变换后灰度直方图的关系

    对于某一灰度值,其直方图数值和灰度变化后对于的灰度值的直方图数值相同

    DBDB+ΔDBHB(DB)dD=DADA+ΔDAHA(DA)dD\int_{D_B}^{D_B+\Delta D_B}H_B(D_B)dD = \int_{D_A}^{D_A+\Delta D_A}H_A(D_A)dD

    DBDB+ΔDBHB(DB)dD=DADA+ΔDAHA(DA)dD\int_{D_B}^{D_B+\Delta D_B}H_B(D_B)dD = \int_{D_A}^{D_A+\Delta D_A}H_A(D_A)dD

    HB(D)ΔDB=HA(D)ΔDAH_B(D)\Delta D_B=H_A(D)\Delta D_A

    HB(DB)=HA(DA)ΔDB/ΔDAH_B(D_B)=\frac{H_A(D_A)}{\Delta D_B/\Delta D_A}

    ΔDA0,ΔDB0\Delta D_A\to0,\Delta D_B\to0,

    HB(DB)=HA(DA)dDB/dDAH_B(D_B)=\frac{H_A(D_A)}{dD_B/dD_A}

    代入DB=f(DA)D_B=f(D_A),

    dDB/dDA=df(DA)/dDAdD_B/dD_A{=}df(D_A)/dD_A

    HB(DB)=HA(DA)f(DA)H_B(D_B)=\frac{H_A(D_A)}{f^{^{\prime}}(D_A)}

    因此,灰度变换后图像直方图是变换前直方图与变换函数导数之比

  • 例子

2. 直方图均衡

直方图均衡的作用:

那能实现直方图均衡的灰度变换是什么?

直方图均衡后,每个灰度级拥有相同的像素个数:

HB(DB)=常数H_B(D_B)=\text{常数}

HB(DB)=HA(DA)f(DA)=常数=A0DmH_B(D_B)=\frac{H_A(D_A)}{f^{^{\prime}}(D_A)}=\text{常数}=\frac{A_0}{D_m}

其中DmD_{m} 代表灰度级(最大可能像素值的大小), A0A_{0} 代表图像像素总数。

f(DA)=DmA0 ⁣ ⁣HA(DA)f^{'} ( D_{A} )=\frac{D_{m}} {A_{0}} \! \cdot\! H_{A} ( D_{A} )

对两边同时积分,

f(DA)=DmA00DAHA(DA)f(D_A)=\frac{D_m}{A_0}\cdot\sum_0^{D_A}H_A(D_A)

DB=DmA00DAHA(DA)D_{B}=\frac{D_{m}} {A_{0}} \cdot\sum_{0}^{D_{A}} H_{A} ( D_{A} )

  • 直方图均衡例子

3. 直方图均衡应用

  • 人脸识别

4. 参考


直方图均衡
https://wangyinan.cn/直方图均衡
作者
yinan
发布于
2024年4月16日
许可协议