为了找到粒子的位移,我计算了两个瞬间之间的互相关(由两个具有相同大小的图像表示)。然后,我用零填充图像,看看翻译是否会对位移产生影响。
因此我发现了位移矢量的差异(差异可以达到1.5像素,图像的大小是56x56像素)
填充后找到差异是否正常?
N.B:为了填充图像,我使用了
new_image(end+1:56,end+1:56)=0;
修改
对于某些情况(22 px),差异甚至更大
答案 0 :(得分:1)
是的,这很奇怪。通过将两个矩阵中的值相乘并计算这些的总和来计算互相关。添加零不应该导致更大的总和。
您发布的代码中存在的问题是end+1:56
可能应该是end+1:end+56
,因为您可以通过以下方式将56个额外的零填充到图像的右侧。
由于您的目标似乎是获得2个矩阵的互相关,我建议您查看Matlab中的xcorr2()
和xcorr()
函数。可以找到xcorr2()
的解释以及为什么零填充不应该有任何影响(除了搜索更大的图像){。{3}}。