来自skimage的match_template返回1X1区域

时间:2017-02-21 00:57:52

标签: python numpy scikit-image

我正在尝试使用来自skiimage的match_template来设置关于惊人物体的连续图像。图像是500x500的numpy区域,非常相似。唯一的区别是物体本身的慢速旋转(运动小于图像之间的像素,我试图通过制作10个图像的平均模板来增加差异,但它没有多大帮助,结果几乎相同)。结果我得到的只是1x1阵列

   In [22]: result
   Out[22]: array([[ 0.98132336]], dtype=float32)

为什么会这样?

1 个答案:

答案 0 :(得分:0)

嗯,我花了一些时间,但我弄清楚发生了什么。
问题是图像彼此太相似了。如果图像之间的变化是亚像素分辨率,则此特定代码将仅返回一个数字,因为图像几乎完全匹配。 我找到的解决方法是基于我用IDL编写的旧代码,其中,通过使用傅里叶变换,我设法计算我需要在串联图像之间使用的移位量,以便我可以对齐它们。 由于我需要对图像进行分析,因此我需要非常好的精度。
如果遇到同样的问题,请给我发消息。我很乐意分享这些代码。只要您在论文中引用我,您就可以自由使用它。
当我发表论文时,我将把我用于分析的所有代码(包括这个代码)放在GitHub上。同样的条件将适用。