2017-02-21 81 views
0

我试图使用skiimage中的match_template对未成对象的连续图像进行合并。图像是500×500的numpy区域,非常相似。唯一的区别是通过对象自身的慢速旋转(运动小于图像之间的像素,我试图通过使平均模板超过10个图像来增加差异,但没有多大帮助,结果几乎相同)引入。结果我得到的只有1x1阵列来自skimage的match_template返回1X1区域

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

为什么会发生这种情况?

回答

0

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