限制对比度的自适应直方图均衡化(CLAHE)在opencv中的使用

1.CLAHE简介

       HE直方图增强,大家都不陌生,是一种比较古老的对比度增强算法,它有两种变体:AHE和CLAHE;两者都是自适应的增强算法,功能差不多,但是前者有一个很大的缺陷,就是有时候会过度方法图像中相同区域的噪声,为了解决这一问题,出现了HE的另一种改进算法,就是CLAHE;CLAHE是另外一种直方图均衡算法,能有效的增强或改善图像(局部)对比度,从而获取更多图像相关边缘信息有利于分割,比如在书架识别系统中的书脊切割中,使用CLAHE可以比传统的直方图增强方法达到更好的增强书脊边界直线的效果,从而有利于后续的书脊边界直线的检测和提取。还能够有效改善AHE中放大噪声的问题,虽然在实际中应用不多,但是效果确实不错。另外,CLAHE的有一个用途是被用来对图像去雾,跟何凯明的暗通道去雾效果有的一拼。

      CLAHE和AHE的区别在于前者对区域对比度实行了限制,并且利用插值来加快计算。

2.CLAHE在OpenCV中的使用

    2.1  增强灰度图像

Ptr<cv::CLAHE> clahe = createCLAHE();
clahe->setClipLimit(clipLimit);
clahe->apply(src, dst);

    2.2  增强彩色图像

vector<Mat> BGR;
split(src,BGR);
Ptr<cv::CLAHE> clahe = createCLAHE();
clahe->apply(BGR[0],BGR[0]);
clahe->apply(BGR[1],BGR[1]);
clahe->apply(BGR[2],BGR[2]);
Mat res;
merge(BGR,res);
3.后记

       后期博主也会更新有关CLAHE的基本原理的介绍,如有错误还请海涵并指正。

你可能感兴趣的:(直方图增强,CLAHE,自适应直方图增强)