CLAHE是对比度受限的自适应直方图均衡化,可以在http://tog.acm.org/resources/GraphicsGems/gemsiv/clahe.c中找到C语言的源

到目前为止,我只看到了一些在灰度图像上应用CLAHE的示例/教程,因此可以在彩色图像(例如RGB 3通道图像)上应用CLAHE吗?如果是,怎么办?

最佳答案

将RGB转换为LAB(L表示亮度,而a和b表示反对色的绿色–红色和蓝色–黄色)即可完成工作。将CLAHE以LAB格式应用于转换后的图像,仅应用于亮度组件,然后将图像转换回RGB。
这是代码段。

bgr = cv2.imread(image_path)

lab = cv2.cvtColor(bgr, cv2.COLOR_BGR2LAB)

lab_planes = cv2.split(lab)

clahe = cv2.createCLAHE(clipLimit=2.0,tileGridSize=(gridsize,gridsize))

lab_planes[0] = clahe.apply(lab_planes[0])

lab = cv2.merge(lab_planes)

bgr = cv2.cvtColor(lab, cv2.COLOR_LAB2BGR)

bgr是应用CLAHE后获得的最终RGB图像。

10-04 13:52