图像大小影响比较直方图 OpenCV

Jca*_*o02 0 opencv image histogram

我正在使用compareHist()函数来比较两个图像的直方图。

我的问题是:图像的大小对结果有很大影响吗?在比较之前我应该​​调整图像大小或标准化直方图吗?我正在使用 CV_COMP_CORREL 方法。

mar*_*rol 5

比较之前必须对直方图进行标准化。

想象一下,您有非规范化的直方图,例如,其中一个的 bin 值在区间 [0..1000] 中,其他区间值在 [0..1] 中。你如何比较它们?当然,像加法这样的数学运算是没有意义的,因为加法的结果是什么?

那么实际上图像的大小并不重要。

实际上,这意味着如果你有一个图像 A 并且将其缩放两次并且你得到了图像 B,那么如果你计算 hist(A) 和 hist(B),对两者进行归一化,那么直方图实际上将是相同的。这是因为,如果您按因子 k 缩放图像,并且图像 A 中有 n 个颜色为 c 的像素,那么在图像 B 中,您大约有 k*k*n 颜色为 c 的像素(取决于插值)。因此,每种颜色量也会按比例“缩放”,因此如果您标准化 hist(A) 和 hist(B),结果将大致相同(如果您的 bin 的大小大于 1,如 16 等)