直方图均衡[附C实现代码]

直方图均衡化(Histogram Equalization)是数字图像处理领域经典的增强图像对比度(Image Contrast)的方法。

其主要思想是将一副图像的直方图分布变成近似均匀分布,从而增强图像的对比度。

·1 直方图是什么?

我的理解是:直方图是一个自变量为离散的灰度级的函数

函数表达式:h(rk)=nk

自变量rk是第k级灰度值,nk是图像中灰度为rk的像素个数

实际操纵中常常把直方图归一化,即p(rk)=nk/MN

M和N是图像的行数和列数,nk/MN是像素在所有像素所占的比例,这样来看,直方图p(rk)就是灰度级rk在图像中出现的概率的估计,所有分量之和为1。

·2什么是对比度?

我的理解是:对比度就是图像中从黑到白之间可辨的灰度级层数

对比度高,图像的层次感越强,图像越鲜明;对比度越低,图片的层次感越低,图片越单薄。

·3 直方图均衡原理

前提假设:r表示待处理图像每一点的灰度,r取值区间【0,L-1】 L=256 r=0表示黑色,r=L-1表示白色

定义变换函数:s=T®;

附加条件:

①T(r)严格单调递增

②T(r)取值区间【0,L】

表示对图像每个具有r灰度的像素产生一个输出值T®=s.

条件①中要求T(r)严格单调是为了保证T®有反函数

条件②保证反变换时输出灰度范围与输入灰度范围一致

定义反函数 :r=T^(-1)s);

学过概率论应该清楚,描绘变量r、s的基本描绘子是其概率密度函数,这里定义pr(r)和ps(s)分别为r和s的概率密度函数。

如果pr(r)和T(r)都清楚,那么: ps(s)=pr(r)|dr/ds|

即输出灰度值s的概率密度由输入r的概率密度和变换函数决定

构造 s = T ( r ) = ( L − 1 ) ∫ 0 r p ( w ) d w s=T(r)=(L-1)\int_{0}^{r}p(w)dw s=T(r)=(L1)0rp(w)dw

w是积分假变量公式右边是r的分布函数,当式子中的上限r=L-1时,积分值为1,即s最大值是L-1。

则得到以下关系:
d s d r = d T ( r ) d r = ( L − 1 ) d ( ∫ 0 r p ( w ) d w ) d r = ( L − 1 ) p ( r ) \frac{ds}{dr} =\frac{dT(r)}{dr} =(L-1)\frac{d(\int_{0}^{r}p(w)dw )}{dr} =(L-1)p(r) drds=drdT(r)=(L1)drd(0rp(w)dw)=(L1)p(r)

带入(c)式得到:
p ( s ) = p ( r ) ∣ d s d r ∣ = p ( r ) ∣ 1 ( L − 1 ) p ( r ) ∣ = 1 L − 1 p(s)=p(r)|\frac{ds}{dr}| =p(r)|\frac{1}{(L-1)p(r)} |=\frac{1}{L-1} p(s)=p(r)drds=p(r)(L1)p(r)1=L11

这是一个均匀概率密度函数,同时是一个恒等式。不要忘了s是输出灰度值。

这样,我们用式(d)的变换,每输入一个灰度值r就能得到一个概率密度为常数的灰度值s,即实现了灰度值均衡,而且这个变换T(r)与p(r)无关,这个变换函数的离散形式为直方图均衡函数。

·4 直方图均衡效果

直方图均衡化就是将一副图像的灰度直方图由窄变宽,由不规则变得平均,但由于实际的灰度值输入一定是离散的,所以生成的均衡后的直方图也不会完全平均。

不过直方图均衡对于低对比度图片的增强效果还是十分明显的,正如我们开篇的那两张经典花粉图像一样。

完整代码请点击
数字图像处理实验二直方图均衡C语言.zip

或关注公众号:凡古一往
后台回复:直方图均衡 获取
在这里插入图片描述

【数字图像处理】直方图均衡浅析

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值