使用对比度受限自适应直方图均衡化 (AHE) 来改善图像对比度。普通的直方图均衡化计算全局均衡化,而自适应方法计算多个直方图,每个直方图对应于图像的不同部分,并使用它们重新分配图像的亮度值。它适合于改善局部对比度并增强图像每个区域的边缘定义。自适应直方图均衡化的变体,对比度受限自适应直方图均衡化 (CLAHE) 限制了 AHE 在图像相对均匀区域中过度放大噪声的趋势。
CLAHE 从 ImageMagick 7.0.8-24 开始支持,使用 -clahe 选项
图像被划分为宽度为 宽度、高度为 高度 的像素块。附加 % 将宽度和高度定义为图像尺寸的百分比。块大小应大于要保留的特征的大小,并符合图像的纵横比。添加 ! 强制使用精确的块宽度和高度。 箱体数量 是每个块的直方图箱体数量(最小值 2,最大值 65536)。直方图箱体数量应小于单个块中的像素数量。 裁剪限制 是局部对比度变化的对比度限制。裁剪限制为 2 到 3 是一个不错的起点(例如 -clahe 50x50%+128+3)。非常大的值将使直方图均衡化按它想要的方式进行,即导致最大局部对比度。值 1 将导致原始图像。注意,如果省略箱体数量和裁剪限制,它们将分别默认为 128 和不裁剪。
为了直观地展示 CLAHE 的优势,我们有一个低对比度的山脉图像
我们可以通过全局直方图均衡化来改善图像
我们可以通过对比度受限自适应直方图均衡化图像处理技术进一步改善图像
后一张图像是使用以下命令生成的
magick mountains.jpg -clahe 25x25%+128+3 mountains-clahe.jpg
参数 25x25% 将图像分成 16 个块以进行局部对比度增强。图像尺寸为 1500x1000,因此每个块的大小恰好为 375x250 像素。您可以直接使用 375x250 指定块尺寸,而不是百分比。
对于不能均匀地划分图像尺寸的块大小,CLAHE 使用虚拟像素,因此结果可能会根据您选择的虚拟像素方法略有不同。例如,
magick mountains.jpg -virtual-pixel mirror -clahe 300x300+128+3! mountains-clahe.jpg
注意 !。它强制块大小恰好为 300x300 像素,而没有 !,块大小会尊重图像的纵横比,导致块尺寸为 300x200。