1

我一直在使用 Matlab 的 normxcorr2 函数通过执行标准化互相关来与图像进行模板匹配。要找到模板和图像之间的最大对应关系,可以简单地运行 normxcorr2,然后找到normxcorr2 返回的所有值的最大绝对值(该函数返回的值介于 -1.0 和 1.0 之间)。

通过快速的 Google 搜索,我发现负相关系数意味着两个变量之间的反比关系(例如,随着 x 增加,y 减少),而正相关系数意味着相反(例如,随着 x 增加,y 增加)。这如何应用于图像模板匹配?也就是说,对于模板匹配,normxcorr2 的负值在概念上意味着什么?

4

2 回答 2

1

将归一化互相关视为归一化矢量点积。如果两个向量之间的夹角为零,则它们的点积为 1;如果它们面向相反的方向,则它们的点积为负 1。如果您采用数组并将列首尾相连,那么这个想法实际上是直接的。结果本质上是两个向量之间的点积。

同样作为个人轶事:起初让我对模板匹配感到困惑的是,直觉上我认为两个图像的元素明智减法将是图像相似度的一个很好的度量。当我第一次看到互相关时,我想知道为什么它使用元素智能乘法。然后我意识到后面的操作和向量点积是一样的。正如我之前提到的,向量点积表示两个向量何时指向同一方向。在您的情况下,首先对两个向量进行归一化;因此为什么范围是从 -1 到 1。如果您想了解更多关于实现的信息,JP Lewis 的“Fast Normalized Cross Correlation”是关于该主题的经典论文。

于 2013-03-11T00:02:53.637 回答
0

检查维基百科上的公式 。

f(x, y) - mean(f)t(x,y) - mean(t)具有不同符号时,附录的结果将为负(std 始终为正)。如果有很多这样的 (x,y),那么总和也将是负数。您可能认为 if1.0意味着一个图像等于另一个图像。-1.0表示一个图像是另一个图像的负片(尝试查找normxcorr2(x, -x)

于 2013-03-11T00:16:50.160 回答