为了比较两个直方图
(H1和H2),首先必须选择度量
(d(H1H2)),以表示两个直方图匹配的程度。
OpenCV利用函数compareHist来执行比较。它还提供4个不同的度量来计算匹配:
1、皮尔逊相关系数
Correlation ( CV_COMP_CORREL )
d(H1,H2)=∑I(H1(I)−H1ˉ)2∑I(H2(I)−H2ˉ)2
∑I(H1(I)−H1ˉ)(H2(I)−H2ˉ)
其中
Hkˉ=N1J∑Hk(J)
N是直方图区间总数。
真值 [1.00]
取值区间 [0.00,1.00]
2、卡方距离
Chi-Square ( CV_COMP_CHISQR )
d(H1,H2)=I∑H1(I)(H1(I)−H2(I))2
真值 [0.00]
取值区间 [0.00,+∞]
3、交叉距离
Intersection ( method=CV_COMP_INTERSECT )
d(H1,H2)=I∑min(H1(I),H2(I))
真值 [24.39]
取值区间 [0.00,1.00]
4、巴氏距离
Bhattacharyya distance ( CV_COMP_BHATTACHARYYA )
d(H1,H2)=1−H1ˉH2ˉN2
1I∑H1(I)⋅H2(I)
真值 [0.00]
取值区间 [0.00,1.00]
[1]https://docs.opencv.org/2.4/doc/tutorials/imgproc/histograms/histogram_comparison/histogram_comparison.html