规范化scipy.ndimage.filters.correlate

El *_*ude 1 python numpy scipy correlation

有没有人知道如何规范化

scipy.ndimage.filters.correlate
Run Code Online (Sandbox Code Playgroud)

获得的功能:

XCM = 1/N(xc(a-mu_a,b-mu_b)/(sig_a*sig_b))
Run Code Online (Sandbox Code Playgroud)

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

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

谢谢,El

ali*_*i_m 7

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

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

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

  • 你应该阅读的互相关维基百科的文章,特别是该位的标准化互相关的定义和每个什么术语意味着一些解释.

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

  • 我还编写了自己的Python函数用于模板匹配,包括基于Lewis的规范化互相关和MATLAB的一些片段.你可以在这里找到来源.

如果您有更多问题,请告诉我,我会解释一下.


Nei*_*aft 5

scikit-image中还包括归一化互相关(NCC)skimage.feature.match_template。请参阅此模板匹配示例

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