对比度增强CLAHE

一般的直方图均衡可以增强对比度,采用整张图像的像素进行相同的直方图变换,对像素分布均匀的效果较好,但是对图像中存在明显比其他区域或者暗的区域,效果较差。

 

AHE:使用局部直方图,每个像素通过其周边的一个矩形范围的像素的直方图进行均衡化,对于边界像素需要扩充,不是复制而是镜像。

对比度增强CLAHE_第1张图片

如果邻域矩形越大,对比度降低,越小,对比度增强。当某个区域中包含的像素非常相近,则直方图会非常尖锐,则会把一个很窄的像素范围映射到整个像素范围,则会把平坦区域的噪音进行放大。

 

CLAHE:Contrast limited adaptive histogramequalization。 为了解决噪音放大的问题,采用限制对比度的方法。

对比度增强CLAHE_第2张图片

将超过设定的高度的直方图平均的分布到低端的直方图,这样可以降低CDF的斜度。阈值设置越高,则对比度越高。这种方法也可以对全图的直方图进行类似的操作,那就是CLHE方法。

 

计算每个点领域的直方图非常耗时,有一个加速的插值方法,质量上没有下降,效率上能大大的提升。将图像分成等分的矩形块,统计每个块的直方图,对于在四个角上的块可以直接使用自己块的直方图映射,对于中间块,则需要用双线性插值的方法参考周围块的直方图。

 对比度增强CLAHE_第3张图片

如将图像分成2*2,则首先计算4个块的直方图和计算后的CDF,则图像的9块区域需要分别计算,分别是4个角块,4个边块和一个中间块。对4个角块直接用自己块的CDF,4个边块用2个块的CDF进行插值,一个中间块则用4个块的CDF进行插值。

CLAHE效果图:

对比度增强CLAHE_第4张图片

对比度增强CLAHE_第5张图片 

 

如何在视频中使用能够做到实时,如何进行优化。算法耗时主要是在块的直方图统计以及插值部分,直方图统计不好在GPU中进行优化,而插值则可以放入GPU中进行加速,结果证明在GPU中使用插值能够满足实时的要求。

你可能感兴趣的:(图像视频算法)