读书人

基于直方图插值的局部自动对比度/色阶

发布时间: 2013-10-30 12:56:21 作者: rapoo

基于直方图插值的局部自动对比度/色阶算法用于图像增强效果的试验。

  在限制对比度自适应直方图均衡化算法原理、实现及效果一文中针对全局直方图均衡化的一些缺点,提出了分块的自适应均衡化技术,很好的克服了全局直方图均衡化的一些缺点,对于图像增强也有着显著的作用,我们稍微回顾下CLAHE的算法流程,简单的可以用下面的过程描述:

基于直方图插值的局部自动对比度/色阶算法用来图像增强效果的试验

            原图                        块大小为200,CutLimit =0.01 处理后结果

由上面的图可以看出,处理前后的增强效果还是很明显的,整个图像显得更清晰。

根据上述代码分析,这样处理的效果肯定是原先图像中的黑的部分更黑,白的部分更白,因此,对比度更加宣明。为了能控制整个对比度调节的程度,我们新增加一个参数,用来调节在最后隐射阶段的最大值。我这里做了如下的处理:

基于直方图插值的局部自动对比度/色阶算法用来图像增强效果的试验基于直方图插值的局部自动对比度/色阶算法用来图像增强效果的试验

           原图                      CutLimit =0.01,Contrast=1           CutLimit =0.05,Contrast=1

分析:上面这幅图原始图像整体就比较亮,因此,在Contrast=1的时候,很多块调整后的Min=0,Max也等于255了,因此继续增加Contrast参数,图像的效果基本没有什么变化了。而增加CutLimit值使得图像的映射表由两个极端向中间靠拢,图像会稍微显得浓烈一些。

基于直方图插值的局部自动对比度/色阶算法用来图像增强效果的试验基于直方图插值的局部自动对比度/色阶算法用来图像增强效果的试验基于直方图插值的局部自动对比度/色阶算法用来图像增强效果的试验

      原图                      CutLimit =0.01,Contrast=1           CutLimit =0.01,Contrast=2.5

而上面这幅图像,则由于整体比较暗,增加Contrast的效果就比较明显了,当Contrast=2.5,图像顶部的一些细节信息也能清晰的表达出来。

另外,分析原始代码的双线性插值部分可知,在四周边缘处,特备是离边缘小于TileX/2或小于TileY/2的部分,由于其临近信息的缺失,实际上是没有进行双线性插值的,这样对于部分图像,边缘处显得有点不自然,弥补的方式就是在处理前对图像进行扩展,分别向四周扩展TileX/2和TileY/2大小,当然扩展部分的数据需要按照镜像的方式填充数据。

在贴一些这个算法的处理效果:

基于直方图插值的局部自动对比度/色阶算法用来图像增强效果的试验基于直方图插值的局部自动对比度/色阶算法用来图像增强效果的试验基于直方图插值的局部自动对比度/色阶算法用来图像增强效果的试验

基于直方图插值的局部自动对比度/色阶算法用来图像增强效果的试验基于直方图插值的局部自动对比度/色阶算法用来图像增强效果的试验基于直方图插值的局部自动对比度/色阶算法用来图像增强效果的试验

基于直方图插值的局部自动对比度/色阶算法用来图像增强效果的试验 基于直方图插值的局部自动对比度/色阶算法用来图像增强效果的试验

基于直方图插值的局部自动对比度/色阶算法用来图像增强效果的试验 基于直方图插值的局部自动对比度/色阶算法用来图像增强效果的试验

特别是最后一幅图,处理的效果都要比我博客中其他的几种方法来的好,感觉真是帅呆了。

用C写个DLL,并提供了C#调用的实例:http://files.cnblogs.com/Imageshop/AdaptAutoContrastTest.rar

基于直方图插值的局部自动对比度/色阶算法用来图像增强效果的试验

*****************************基本上我不提供源代码,但是我会尽量用文字把对应的算法描述清楚或提供参考文档*********************

*************************************因为靠自己的努力和实践写出来的效果才真正是自己的东西,人一定要靠自己****************************

*********************************作者: laviewpbt 时间: 2013.10.29 联系QQ: 33184777 转载请保留本行信息************************

读书人网 >图形图像

热点推荐