1

有人知道如何规范化

scipy.ndimage.filters.correlate

获得的功能:

XCM = 1/N(xc(a-mu_a,b-mu_b)/(sig_a*sig_b))

什么是N相关性?它通常是图像的数据点数/像素数。我应该选择哪个值scipy.ndimage.filters.correlate?我的图像大小不同。我猜 scipy 相关函数将小图像填充为零?

最终矩阵的大小 N = XCM.sizeX() * XCM.sizeY()

谢谢, 埃尔

4

2 回答 2

7

在我看来,您正在尝试计算两个图像的归一化互相关(我怀疑您可能正在尝试进行模板匹配?)。这个答案假设标准化的互相关是你想要的。

  • 当您计算两个图像之间的归一化互相关时,您相当于在它们重叠的区域中减去平均值并除以标准偏差到您的模板和参考图像。

  • 在这里,N将等于您的模板中的像素数,这与您在参考上滑动模板时模板和参考图像之间的局部重叠区域中的像素数相同。

  • 您应该阅读Wikipedia article on cross-correlation,尤其是有关标准化互相关的定义以及对每个术语含义的一些解释的这一位。

  • Lewis (1995) 的这篇文章有更深入的解释,并且还描述了一些有效计算归一化互相关的巧妙技巧。

  • 我还为模板匹配编写了自己的 Python 函数,包括基于 Lewis 和一些 MATLAB 片段的标准化互相关。你可以在这里找到源代码。

如果您有更多问题,请告诉我,我会尽力解释。

于 2013-07-04T00:58:16.463 回答
5

标准化互相关 (NCC) 也包含在 scikit-image 中,因为skimage.feature.match_template. 请参阅此模板匹配示例

您也可以使用matchTemplate方法对 OpenCV 执行相同操作。从 Python 到 OpenCV 有很多很好的绑定,但是如果你只需要模板匹配就有点过头了。我会选择 scikit-image。

于 2014-01-26T06:05:05.963 回答