CLAHE算法对于医学图像,特别是医学红外图像的增强效果非常明显。

CLAHE  https://en.wikipedia.org/wiki/Adaptive_histogram_equalization

中文方面非常好的资料 限制对比度自适应直方图均衡化算法原理、实现及效果

在OpenCV中已经实现了CLAHE,但是它在使用过程中,存在参数选择的问题。为了从根本上搞明白,我参考了网络上的一些代码

主要是来源 http://blog.csdn.net/abcd1992719g/article/details/25483395

实现了基于OpenCV的CLAHE实现和研究。从最基本的开始做,分别实现HE算法,AHE算法,CLHE算法和CLAHE算法。素材分别采用了手部和手臂的红外图片,同时调用OpenCV生成代码和自己编写代码进行比对。

调用代码和实现效果:

int _tmain(int argc, _TCHAR* argv[])
{
    //读入灰度的手部图像
    Mat src = imread("arm.jpg",0);
    Mat dst = src.clone();
    Mat HT_OpenCV;
    Mat HT_GO;
    Mat AHE_GO;
    Mat CLHE_GO;
    Mat CLAHE_Without_Interpolation;
    Mat CLAHE_OpenCV;
    Mat CLAHE_GO;
    Mat matInter;
    ////OpenCV HT 方法
    cv::equalizeHist(src,HT_OpenCV);
    ////GO HT方法
    HT_GO = eaualizeHist_GO(src);
    ////GO AHE方法
    AHE_GO 

网友评论