CLAHE是一种对比度增强算法是AHE(adptive histogram equalization)算法的增强版,克服了标准直方图均衡化的限制。对于低对比度的图像具有不错的增强效果。
Introduction
对于对比度较差的图片,通常的做法是
- 应用一个线性映射函数,如线性斜坡
- 非线性的方法:如Gamma 校正,和本文要讲的直方图均衡化
传统的直方图均衡化存在一些问题:
会突出一些噪声区域,丢失低对比度区域的一些局部细节
Adaptive Histogram Equalization(AHE)
为了优化图片的局部对比度
方法:
- 将图像分为矩形网格状的contextual regions,其中划分的个数需要经过试验得到;一般都是分成 8 × 8 8\times8 8×8的contextual 区域,一个 512 × 512 512\times512 512×512大小的图像经过 8 × 8 8\times8 8×8划分为64个大小为 64 × 64 64\times64 64×64的子区域
- 对于每一个上下文区域,计算包含其中的像素的直方图
- 计算每个上下文区域对应的累积直方图会得到一个灰度分配表,优化每个上下文区域的对比度,基本上是基于局部图像数据的直方图均衡化。
- 为了避免上下文区域边界的可见性,采用了双线性插值方法
AHE的属性:
6. 领域的大小是该方法的一个参数。领域小,对比度得到增强,领域大,则对比度降低。
2. 当某个区域包含的像素值非常相似,其直方图就会尖状化,此时直方图的变换函数会将一个很窄范围内的像素映射到整个像素范围。这将使得某些平坦区域中的少量噪音经AHE处理后过度放大。
结果:
还不错,突出了更多细节,但是噪声也更突出了。所以噪声突出似乎是AHE最主要的问题了
Contrast Limited Adaptive Histogram Equalization(CLAHE)
AHE算法的问题可以通过限制对比度增强(尤其是相似区域的对比度增强)来解决,相似区域的在直方图中的分布具有很高的峰值,因为它们的灰度落在相同的范围。
CLAHE 限制了直方图中灰度分布的斜度,通过设定一个最大值,将大于最大值的部分进行裁剪,而被裁减掉的部分被重新分配到直方图的其它位置,以保证直方图中总体个数的一致性。
在指定的像素值周边的对比度放大主要是由变换函数的斜度决定的。这个斜度和领域的累积直方图的斜度成比例。
裁剪限制(clip limit)被定义为多个直方图内容的平均值;该参数越低,局部直方图的最大斜度也会越低。
裁剪限制的优点:
计算简单,只需一个参数(clip limit),在大多数图像上表现良好
缺点:
该方法用于对比度优化,原始图像和增强后的图像的灰度级没有1对1 的关系;CLAHE图像不适合依赖于图像强度的物理意义的定量测量;若原始图像存在高强度梯度的像素,则会导致失真问题