Image 如何使用Matlab中的函数normxcorr2解释两幅图像之间的漂移?

Image 如何使用Matlab中的函数normxcorr2解释两幅图像之间的漂移?,image,matlab,image-processing,cross-correlation,Image,Matlab,Image Processing,Cross Correlation,我是Matlab的初学者,我需要消除两幅图像之间的漂移(在不同时间拍摄图像时由于显微镜而存在),以便它们可以比较。我想通过对两幅图像的4个角进行互相关来计算漂移。 为了确定我的漂移,我使用函数normxcorr2找到了以下代码: c = normxcorr2(picture1,picture2); [max_c, imax] = max(abs(c(:))); %find the max value [ypeak, xpeak] = ind2sub(size(c),imax(1)); %Fin

我是Matlab的初学者,我需要消除两幅图像之间的漂移(在不同时间拍摄图像时由于显微镜而存在),以便它们可以比较。我想通过对两幅图像的4个角进行互相关来计算漂移。 为了确定我的漂移,我使用函数normxcorr2找到了以下代码:

c = normxcorr2(picture1,picture2);
[max_c, imax] = max(abs(c(:))); %find the max value 
[ypeak, xpeak] = ind2sub(size(c),imax(1)); %Find peak in cross-correlation.
corr_offset = round([(xpeak-(size(c,2)+1)/2) (ypeak-(size(c,1)+1)/2)]);
offset = corr_offset;
xoffset = offset(1);
yoffset = offset(2);
我发现了以下结果:

xpeak=195
ypeak=136
max_c=0.7250
offset=[-1,1]
xoffset=-1
yoffset=-1
对于如何解释这些结果,我有点困惑。这是否意味着在y方向上有-0.7250的漂移,在x方向上有-0.7250的漂移?这个结果是像素还是米

这是我的两张照片:


谢谢你的帮助

max_c
是两幅图像尽可能对齐时的相关性。
xoffset
yooffset
是x和y方向的偏移感谢Suever的回复。因此,如果我想消除图片2上x和y位置的漂移,将它们与图片1进行比较,我应该减去什么-1在x方向和-1在y方向或-0.7250?另外,你认为我应该使用函数xcorr2而不是normxcorr2吗?@Suever你同意吗?你看过我的评论了吗
max_c
是相关性,而不是偏移。您应该减去
xoffset
yoffset
。我不知道如何才能更清楚地说明这一点。我想我找到了一种替代步骤3的方法,通过使用粒子跟踪代码来匹配我的珠子位置,然后我使用示例代码(步骤4中的代码)来查找几何变换。我的图像。我的问题是,我怎样才能纠正翻译?因为恢复的图像不考虑'scaleRecovered=sqrt(ssss+scsc)的覆盖率=atan2(ss,sc)*180/pi`tx和ty(翻译)。谢谢你的帮助