前面讲到的自适应直方图均衡化的实现方法首先是将图像划分成不重叠的区域块,让后对每个块分别进行直方图均衡化处理。如果在图像有噪声的情况下这样处理,在每个被分割的小区域块中的噪声就会被放大。
为了避免噪声对图像均衡化的影响,这里使用了限制对比度的自适应直方图均衡化来处理图像的直方图均衡化。
限制对比度的直方图均衡化的处理方式是先为直方图设置一个阈值,该阈值为限制对比度值,超过该阈值的值会被裁剪,然后裁剪的部分会均匀的分布到其他值上,这样就重构了直方图,接下来就可以用重构后的直方图来进行接下来的均衡化操作了。
下面是限制对比度的操作示例图,我这边用excel图来进行展示:
阈值为40时,超出阈值的为50这个直方图区域,将多出的50-40=10的部分均匀分布到每个区域上,平均每个区域增加的值为2
注意:在OpenCV手册中没有提及到限制对比度的自适应直方图均衡化函数。
具体的python实现限制对比度的自适应直方图均衡化代码如下:
其中默认设置的“限制对比度”为40,块的大小为8X8
程序运行后的效果如下图所示:
本文摘自异步社区,作者:黑夜探路人,作品:《OpenCV使用python实现限制对比度的自适应直方图均衡化》,未经授权,禁止转载。
推荐阅读
长按二维码,可以关注我们哟
每天与你分享IT好文。
在“异步图书”后台回复“关注”,即可免费获得2000门在线视频课程
点击查看原文,阅读更多内容