我使用compareHist()函数来比较两个图像的直方图。
我的问题是:图像的大小是否会对结果产生相当大的影响?在比较之前,我应该调整图像大小还是标准化直方图?我正在使用CV_COMP_CORREL方法。
答案 0 :(得分:4)
您必须在比较前对直方图进行标准化。
想象一下,你有非noramlized直方图,例如其中一个在区间[0..1000]中有一个区间值,在[0..1]中有一个区间值。你怎么比较它们?当然,像加法这样的每一个数学运算都没有意义,因为这个加法的结果是什么?
然后在实践中,图像的大小并不重要。
在实践中意味着如果你有一个图像A并且你缩放它可以说两次并且你有一个图像B,那么如果你计算hist(A)和hist(B),那么将两者标准化直方图将是实际上是一样的。这是因为如果您按图像k缩放图像,并且图像A中的颜色c中有n个像素,那么在图像B中,您在颜色c中具有大约k * k * n个像素(取决于插值)。因此,每个颜色量也按比例“缩放”,因此如果您将hist(A)和hist(B)标准化,结果将大致相同(如果您的箱子的大小大于1,如16等)。