直方图均衡化的数学原理

注:目前开通个人网站朝思录,之后的博文将在上面更新,CSDN博客会滞后一点


首先从一个概率问题说起

设随机变量 X , Y,
其中 X 服从参数为θ的指数分布,即 X 的概率密度函数为

f(x)=1θexθ,0,x>0Otherwise
并且 Y X满足关系

y=g(x)=1exθ
求解 Y 的概率密度函数

该题目是典型的求解随机变量的函数的分布的问题,随便找一本概率论课本,书上都会提供这样的公式:

fY(y)=fX[h(y)]|h(y)|,0,α<y<βOtherwiseα=min{g() ,g()},β=max{g(),g()}

采用此公式可以求解如下:

y=g(x)=1exθ 可得

x=h(y)=θln(1y)

因为 x>0 ,所以
fY(y)=fX[h(y)]|h(y)|=fX[h(y)]h(y)=1θexθ[dxdy(θln(1y))]=1θeθln(1y)θθ1y=1θeln(1y)θ1y=1yθθ1y=1

并且
α=min{g() ,g()}=0,β=max{g(),g()}=1

故可得随机变量 Y 的分布函数为:
fY(y)=1,0,0<x<1Otherwise

在上题中,变换 y=g(x)=1exθ 将服从指数分布的随机变量X转化为服从均匀分布的随机变量 Y

了解过直方图均衡化的看客,在这里估计心中有数了。若设图像灰度级为随机变量X,则图像直方图近似随机变量 X 的概率密度函数(大数定律?)。图像直方图均衡化目的是将图像直方图变得更加均匀,实际上是通过某种变换,将非均匀分布的随机变量X变换为均匀分布随机变量 Y 如上题,若一副图像的灰度级满足指数分布,则通过变换y=g(x)=1exθ即可将其变为均匀分布,以达到直方图均衡化的目的。

变换函数的寻找

很明显,图像灰度级的分布一般不是指数分布,我们需要寻找对于任意灰度级分布都能将其变换为均匀分布的变换函数。
设原始图像灰度级为随机变量 X ,变换后的图像灰度级为随机变量Y。观察变换公式:

fY(y)=fX[h(y)]|h(y)|,α<y<β

直接令 fY(x)=k,0<k<1 为均匀分布,可求得
|h(y)|=|dxdy|=|kfX[h(y)]|=|kfX(x)|

其中 fX(x) 为随机变量X的概率密度函数,满足 fX(x)0 ,故
dxdy=kfX(x)

利用反函数求导法则,可得
dydx=fX(x)k

此时采用积分即可求得变换函数
y0dyy=x0fX(x)kdx=g(x)=1kx0fX(x)dx

该式即为直方图均衡化的所用的变换函数
最后有一个小问题,即该式没有考虑图像的灰度级的个数。对于灰度级总个数为L的图像,其均衡化图像所服从的均匀分布函数应为 f(x)=1/(L1) ,结合上面推导过程可知 k=1/(L1) ;此时也可以知道 0<xy<L1 。故最终的结论应为:

若灰度级个数为 L 的图像的灰度分布服从随机变量X,其概率密度函数为fX(x)
则通过变换:

y=g(x)=(L1)x0fX(x)dx,0<x<L1

得到的变换图像的灰度分布服从均匀分布,其概率密度函数为 fY(y)=1/(L1)

应用方法

当然实际的图像灰度不是连续的,而是一级一级跳变。一般而言,一幅灰度级个数为 L 的灰度图像,上述变换可改写为:

y=g(x)=(L1)t=0xHX(t)

HX(t) 即为原始图像的灰度直方图。
可以看出,该式通过累加原始图像直方图,来建立原始图像灰度级随机变量 X 和均衡化图像灰度级随机变量Y的映射。此时对原始图像的每一个样本(即每一个像素)进行映射,即可得到其对应的均衡化图像。这里不再赘述其详细步骤,随便找一本数字图像处理教程都会有相关内容。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值