python – 如何使用scipy执行亚像素精度的图像互相关

python – 如何使用scipy执行亚像素精度的图像互相关,第1张

概述下图显示了两个相同半径的圆,用抗锯齿渲染,只是左圆圈水平移动了一半像素(注意圆圈水平中心位于左边像素的中间,右边的像素边界) ). 如果我执行互相关,我可以在相关数组上取最大值的位置,然后计算移位.但由于像素位置总是整数,我的问题是: “如何在Numpy / Scipy中使用互相关获得两个图像之间的子像素(浮点)偏移?” 在我的脚本中,使用scipy.signal.correlate2d或scip 下图显示了两个相同半径的圆,用抗锯齿渲染,只是左圆圈水平移动了一半像素(注意圆圈水平中心位于左边像素的中间,右边的像素边界) ).

如果我执行互相关,我可以在相关数组上取最大值的位置,然后计算移位.但由于像素位置总是整数,我的问题是:

“如何在Numpy / Scipy中使用互相关获得两个图像之间的子像素(浮点)偏移?”

在我的脚本中,使用scipy.signal.correlate2d或scipy.ndimage.filters.correlate,它们似乎产生相同的结果.

这里的圆圈只是示例,但我的特定于域的功能往往具有子像素移位,并且目前仅获得整数移位会产生不太好的结果……

任何帮助都感激不尽!

解决方法 离散互相关(由那些实现)只能具有单个像素精度.我能看到的唯一解决方案是将2D数组内插到更精细的网格(上采样).

Here’s关于DSP关于互相关之前的上采样的一些讨论.

总结

以上是内存溢出为你收集整理的python – 如何使用scipy执行亚像素精度的图像互相关全部内容,希望文章能够帮你解决python – 如何使用scipy执行亚像素精度的图像互相关所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1192703.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存