直方图均衡化(Histogram Equalisation)的概念和计算

直方图均衡化(Histogram Equalisation)方法可以非线性的增强图片对比度,可用于整体几乎全黑或全白的图像上,用于揭示图片上的一些细节。在一些专业领域有重要作用,比如医学上的x光片可以通过这种方法使图片对比度更高。

 

区别于线性对比度调整,直方图均衡化是非线性的调整。例如我们有一个如下图片,现在想进行直方图均衡化。

我们可以数出每个颜色的出现的次数,列出表格。

q为方块颜色

H(q)为该颜色在图中出现的次数

C(q)为H(q)的累加

T(q)=255*(C(q)-C(q-min))/(C(q-max)-C(q-min))

例如在这道题中我想计算q为115的色块经过直方图均衡化后的结果就可以根据表格带公式

H(115)=255*(22-1)/(36-1)=153

 

q647689102115128153179205
H(q)

1

62856422
C(q)179172228323436
T(q)04458117153197226240255

得到最终的效果图

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我们来举一个简单的例子来说明直方图均衡化计算步骤。 假设我们有一张灰度图像,大小为4x4,像素值范围为0-255,像素值分别为: ``` 87 162 248 41 120 195 213 75 70 110 182 33 90 143 202 55 ``` 首先,我们需要计算出图像的灰度直方图。直方图表示每个像素值在图像中出现的次数。我们可以用一个长度为256的数组histogram来存储直方图,其中histogram[i]表示像素值为i的像素在图像中出现的次数。对于上面的例子图像,它的灰度直方图为: ``` histogram = [0, 1, 0, ..., 0, 1, 0] ``` 其中,histogram[41]=1,histogram[55]=1,histogram[70]=1,histogram[75]=1,histogram[87]=1,histogram[90]=1,histogram[110]=1,histogram[120]=1,histogram[143]=1,histogram[162]=1,histogram[182]=1,histogram[195]=1,histogram[202]=1,histogram[213]=1,histogram[248]=1。 然后,我们需要计算出图像的累积分布函数。累积分布函数表示在灰度级别为i及以下的像素占整个图像像素数的比例。我们可以用一个长度为256的数组cdf来存储累积分布函数,其中cdf[i]表示灰度级别小于等于i的像素占整个图像像素数的比例。对于上面的例子图像,它的累积分布函数为: ``` cdf = [0.0625, 0.125, 0.1875, ..., 0.9375, 0.9375, 1.0] ``` 其中,cdf[0]=0.0625,cdf[1]=0.125,cdf[2]=0.1875,...,cdf[253]=0.9375,cdf[254]=0.9375,cdf[255]=1.0。 最后,我们需要计算出图像的均衡化函数。均衡化函数表示对于灰度级别为i的像素,它在均衡化后应该变成的像素值。我们可以用一个长度为256的数组eq_func来存储均衡化函数,其中eq_func[i]表示灰度级别为i的像素在均衡化后应该变成的像素值。对于上面的例子图像,它的均衡化函数为: ``` eq_func = [20, 69, 114, ..., 233, 240, 255] ``` 其中,eq_func[0]=20,eq_func[1]=69,eq_func[2]=114,...,eq_func[253]=233,eq_func[254]=240,eq_func[255]=255。 最后,我们将图像中每个像素的灰度值替换为均衡化函数对应的灰度级别,即完成了直方图均衡化。对于上面的例子图像,均衡化后的结果为: ``` 69 181 255 20 114 211 233 41 46 85 192 0 87 143 206 55 ``` 可以看到,经过直方图均衡化后,图像的对比度增强了,更加清晰易于观察。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值