加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-20 11:24:05 所属栏目:Python 来源:网络整理
导读:下图显示了两个相同半径的圆,用抗锯齿渲染,只是左圆圈水平移动了一半像素(注意圆圈水平中心位于左边像素的中间,右边的像素边界) ). 如果我执行互相关,我可以在相关数组上取最大值的位置,然后计算移位.但由于像素位置总是整数,我的问题是: “如何在Numpy / S
下图显示了两个相同半径的圆,用抗锯齿渲染,只是左圆圈水平移动了一半像素(注意圆圈水平中心位于左边像素的中间,右边的像素边界) ).

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

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

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

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

任何帮助都感激不尽!

解决方法

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读