OpenCV使用python实现限制对比度的自适应直方图均衡化

举报
G-washington 发表于 2019/10/11 20:28:01 2019/10/11
【摘要】 限制对比度的直方图均衡化的处理方式是先为直方图设置一个阈值,该阈值为限制对比度值,超过该阈值的值会被裁剪,然后裁剪的部分会均匀的分布到其他值上,这样就重构了直方图,接下来就可以用重构后的直方图来进行接下来的均衡化操作了。

前面讲到的自适应直方图均衡化的实现方法首先是将图像划分成不重叠的区域块,让后对每个块分别进行直方图均衡化处理。如果在图像有噪声的情况下这样处理,在每个被分割的小区域块中的噪声就会被放大。

为了避免噪声对图像均衡化的影响,这里使用了限制对比度的自适应直方图均衡化来处理图像的直方图均衡化。

限制对比度的直方图均衡化的处理方式是先为直方图设置一个阈值,该阈值为限制对比度值,超过该阈值的值会被裁剪,然后裁剪的部分会均匀的分布到其他值上,这样就重构了直方图,接下来就可以用重构后的直方图来进行接下来的均衡化操作了。

下面是限制对比度的操作示例图,我这边用excel图来进行展示:

                                           1529655885418079982.png

                                            1529655885429014744.png


阈值为40时,超出阈值的为50这个直方图区域,将多出的50-40=10的部分均匀分布到每个区域上,平均每个区域增加的值为2

注意:在OpenCV手册中没有提及到限制对比度的自适应直方图均衡化函数。

具体的python实现限制对比度的自适应直方图均衡化代码如下:

image.png

其中默认设置的“限制对比度”为40,块的大小为8X8

程序运行后的效果如下图所示:

                              1529655885435032628.jpg


本文转载自异步社区

原文链接:https://www.epubit.com/articleDetails?id=N422410ce-9aab-4eb0-b807-e64b1f70c61f 

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。