直方图均衡原理和实践

背景

直方图均衡本质上是一个灰度线性变换(当然也可以用在RGB通道),这个线性变换有个好处是说变换后的图像他在每个灰度级上的分布是均匀的。举个例子,假如一副很暗的图像,它的灰度分布肯定都挤在灰度很低的一端,而很亮的图像灰度分布都在很亮的一端。另外也有可能图像不是很亮也不是很暗,但是它的像素分布就是集中在中间的某一个小区间,这样表现出来就好像色彩被冲淡了一样。通过直方图均衡,重新对他的亮度进行一个调整,使得亮度的分布是变得均匀的,这样调整后的图像的像素倾向于占据整个可能的灰度级,表现出来就是图像有很高的对比度,并且明暗细节都很丰富。

直方图均衡化

我们首先需要定义的是灰度分布如何衡量,其实很简单,假如是离散型的数字图像,我们只需要统计一下它在每个灰度级上出现的概率即可。比如一般图像的灰度级取值是0 ~ 255,我们就分别统计0 ~ 255这里面每一个值对应的像素点的个数,然后除以总的个数,即可得到每个灰度值对应的概率,我们把这个概率统计称之为这幅图像的直方图信息。
然后我们定义灰度线性变换函数,灰度线性变换通过公式来表示就是 s = T ( r ) s = T(r) s=T(r), 这里面T就是这个变换函数,r是变换前的灰度值,s是变换后的灰度值。我们还希望这个T具有一些特别的性质:

  1. T在r的可取值区间上是单调递增的, 这样和原图像保持一致,原图像比较亮的地方还是比较亮。特别的,我们还希望T是一个一一映射的关系,这样我们保证映射后的图像还能通过逆操作反映射回来
  2. 0 &lt; = r &lt; = L − 1 时 , 0 &lt; = T ( r ) &lt; = L − 1 0&lt;=r&lt;=L-1时,0&lt;=T(r)&lt;=L-1 0<=r<=L10<=T(r)<=L1。这个很好理解,就是变换后的值还是原图所能表达的灰度值,不要出现溢出

回到直方图均衡,我们的目标是通过图像的直方图信息开发出一个线性变换函数,他使得变换后的图像的直方图是分布均匀的。我们分这么几步来做这个事情:

  1. 设原图像的概率密度函数为 p r ( r ) p_r(r) pr(r),变换后的概率密度函数位 p s ( s ) p_s(s) ps(s),实际上 p r ( r ) p_r(r) pr(r) p s ( s ) p_s(s) ps(s)的关系可以表示为 p s ( s ) = p r ( r ) ∗ ∣ d r d s ∣ p_s(s) = p_r(r) * \left|\frac{dr}{ds}\right| <
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值