0
我想比较2个直方图,其中有2个维度。 为此,我想使用Chi-Square-Metric。 我比较像这样的功能:比较2个直方图与卡方
double Histogram::compareHistogram(Histogram *hist){
double result=0;
double a=0;
double b=0;
for (int y=0 ; y < bins_1 ; y++) {
for (int x=0 ; x < bins_2 ; x++) {
a=getHistogramValue(x,y)-hist->getHistogramValue(x,y);
b=getHistogramValue(x,y)+hist->getHistogramValue(x,y);
if(fabs(b)>0.0){
result+=a*a/b;
}
}
}
return result;
}
我比较了OpenCV的的简历:: compareHist()
函数的结果的结果,它是不同的。我不知道为什么。
在比较直方图之前,我用MINMAX-Norm规范直方图。 我比较了我的直方图和openCV的直方图,他们是相等的。 所以我认为,问题出在我的compareHist函数中。 但是哪里?
最好的问候,
噢,你是对的。我已经在这个代码的旧版本中显示(https://code.ros.org/trac/opencv/browser/trunk/opencv/modules/imgproc/src/histogram.cpp?rev=4885)谢谢 – 2013-05-05 16:18:34