24 OpenCV直方图比较compareHist
一、直方图比较 对输入的两张图像计算得到直方图H1与H2,归一化到相同的尺度空间,然后可以通过计算H1与H2的之间的距离得到两个直方图的相似程度,进而比较图像本身的相似程度。 Opencv提供的比较方法有四种 Correlation 相关性比较 -(计算结果范围为 -1到1 -1很不相关,1完全一样 ) Chi-Square 卡方比较 -(计算结果越接近0,两个直方图越相似) Intersection 十字交叉性 -(计算公式为取两个直方图每个相同位置的值的最小值,然后求和,这个比较方式不是很好,不建议使用) Bhattacharyya distance 巴氏距离 - (比较结果是很准的,计算结果范围为 0-1 ,0表示两个直方图非常相关,1最不相似) 二、相关性计算(CV_COMP_CORREL) 三、卡方计算(CV_COMP_CHISQR) 四、十字计算(CV_COMP_INTERSECT) 五、巴氏距离计算(CV_COMP_BHATTACHARYYA ) 六、步骤 首先把图像从RGB色彩空间转换到HSV色彩空间 cvtColor 计算图像的直方图,然后归一化到[0~1]之间calcHist和normalize; 使用上述四种比较方法之一进行比较compareHist compareHist ( InputArray h1 , // 直方图数据,下同 InputArray H2