【直方图的均衡化】

1 数学推导

1.1 符号说明如下

符号含义
D A D_A DA灰度变化前的灰度级
D B D_B DB灰度变化后的灰度级,灰度变化为 D B = f ( D A ) D_B=f(D_A) DB=f(DA)
H A ( D ) H_A(D) HA(D)灰度变化之前的直方图
H B ( D ) H_B(D) HB(D)灰度变化之后的直方图
D m D_m Dm灰度级的个数
A 0 A_0 A0该图像中总的像素个数

1.2 推导

由于某一特定灰度级变化前后包含的像素总数量永远不变,所以可得:
∫ D B D B + Δ D B H B ( D B ) d D = ∫ D A D A + Δ D A H A ( D A ) d D \int^{D_B+\Delta D_B}_{D_B}H_B(D_B)dD = \int^{D_A+\Delta D_A}_{D_A}H_A(D_A)dD DBDB+ΔDBHB(DB)dD=DADA+ΔDAHA(DA)dD

Δ D B → 0 , Δ D B → 0 \Delta D_B \to 0 ,\Delta D_B \to 0 ΔDB0ΔDB0 时,上式可变化为:
H B ( D B ) Δ D B = H A ( D A ) Δ D A H_B(D_B)\Delta D_B =H_A(D_A)\Delta D _A HB(DB)ΔDB=HA(DA)ΔDA
所以:
H B ( D B ) = H A ( D A ) Δ D A Δ D B H_B(D_B) = \frac{H_A(D_A)\Delta D _A}{\Delta D_B} HB(DB)=ΔDBHA(DA)ΔDA
由于 Δ D B → 0 , Δ D B → 0 , D B = f ( D A ) \Delta D_B \to 0 ,\Delta D_B \to 0,D_B = f(D_A) ΔDB0ΔDB0,DB=f(DA),所以:
d D B d D A = d f ( D A ) d D A = f ′ ( D A )     H B ( D B ) = H A ( D A ) d D B / d D A = H A ( D A ) f ′ ( D A ) \frac{dD_B}{dD_A} = \frac{df(D_A)}{dD_A}=f'(D_A) \\ \ \\ \ H_B(D_B)= \frac{H_A(D_A)}{d D_B/dD_A} = \frac{H_A(D_A)}{f'(D_A)} dDAdDB=dDAdf(DA)=f(DA)  HB(DB)=dDB/dDAHA(DA)=f(DA)HA(DA)
推导至此,就可以很明显的看出变化前的直方图 H A ( D ) H_A(D) HA(D),变化后的直方图 H B ( D ) H_B(D) HB(D)以及变化函数 D B = f ( D A ) D_B=f(D_A) DB=f(DA)之间的关系了😁。

再结合本章要讲的内容:直方图均衡化。想一下如何才能让原本分布不均匀的灰度经过变化后变得均匀呢?一个很简单的思想就是把变化后的直方图 H B ( D ) H_B(D) HB(D)设为一个定值,由于一共有 A 0 A_0 A0个像素, D m D_m Dm个灰度级。均衡化后最好的结果是每个灰度级的像素个数相同,即 A 0 D m \frac{A_0}{D_m} DmA0,根据上述说明,我们只需保证 H B ( D ) = A 0 D m H_B(D)=\frac{A_0}{D_m} HB(D)=DmA0即可,即:
H B ( D ) = A 0 D m = H A ( D A ) f ′ ( D A ) ↓ f ′ ( D A ) = D m A 0 H A ( D A ) H_B(D)=\frac{A_0}{D_m}= \frac{H_A(D_A)}{f'(D_A)} \\ \downarrow \\ f'(D_A)=\frac{D_m}{A_0}H_A(D_A) HB(D)=DmA0=f(DA)HA(DA)f(DA)=A0DmHA(DA)
想一下如何得到变化函数 f f f呢?当然跟简单,只需要对上述式子左右同时进行积分即可,即可得到:
f ( D A ) = D m A 0 ∑ 0 D A H A ( D A ) f(D_A) = \frac{D_m}{A_0}\sum^{D_A}_0 H_A(D_A) f(DA)=A0Dm0DAHA(DA)
又由 D B = f ( D A ) D_B=f(D_A) DB=f(DA)可得:
D B = D m A 0 ∑ 0 D A H A ( D A ) D_B= \frac{D_m}{A_0}\sum^{D_A}_0 H_A(D_A) DB=A0Dm0DAHA(DA)
这就完成了从原灰度级 D A D_A DA经过直方图均衡化新的灰度级 D B D_B DB的变化!

2 示例

待会抽空再写,困了🥱

3 均衡化代码

待会抽空再写,困了🥱

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是鱼不是魚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值