Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 具有相同大小的两幅图像之间的归一化互相关_Matlab_Image Processing - Fatal编程技术网

Matlab 具有相同大小的两幅图像之间的归一化互相关

Matlab 具有相同大小的两幅图像之间的归一化互相关,matlab,image-processing,Matlab,Image Processing,我发现了一种算法,在两个大小相同的图像之间应用互相关(normxcorr2),以测量两个瞬间之间图像中粒子的位移 例如,对于这种情况(固定图像左侧和运动图像右侧),算法将向量(-0.0076,0.5383)显示为位移 我不明白为什么这个计算有意义,尤其是在这种情况下,normxcorr2的参数大小相同 有人能告诉我为什么在这种情况下进行互相关吗?要测量位移,需要用不同的偏移重叠两幅图像,并保持最佳相关性。这可以通过插值(可以是图像空间或相关系数空间中的插值)实现亚像素精度 通常,您会在大图像中定

我发现了一种算法,在两个大小相同的图像之间应用互相关(
normxcorr2
),以测量两个瞬间之间图像中粒子的位移

例如,对于这种情况(固定图像左侧和运动图像右侧),算法将向量(-0.0076,0.5383)显示为位移

我不明白为什么这个计算有意义,尤其是在这种情况下,
normxcorr2
的参数大小相同


有人能告诉我为什么在这种情况下进行互相关吗?

要测量位移,需要用不同的偏移重叠两幅图像,并保持最佳相关性。这可以通过插值(可以是图像空间或相关系数空间中的插值)实现亚像素精度


通常,您会在大图像中定位较小的图像,这会为移动留出一些空间。如果两个图像的大小相同,则必须牺牲一些边界像素以使其中一个图像变小。(您也可以置换其中一幅图像并通过外推重建缺失的像素,但这更为专业。)

您所说的“感觉”是什么意思?问题是什么?@AnderBiguri我编辑了这个问题!图像的大小无关紧要。互相关将为您提供置换其中一幅图像所需的量,以便图像的“内容”与另一幅图像对齐。在你的例子中,结果是你需要在
x
方向(-0.007像素!)上移动它,在另一个方向上移动半个像素。ProTip:如果你在开始逐行阅读之前知道代码的作用,这对更好地理解代码非常有帮助。请注意,根据你的图像大小,
normxcorr2
使用空域卷积或通过FFT在频域执行所需的计算。这就是为什么你有亚像素的准确性和它相当有效。不幸的是,你再也没有比这更好的了。为了更好地了解
normxcorr2
的工作原理,在您的问题的上面的重复链接中为您提供了一个类似的算法,而不是您的答案。在做互相关之前去除其中一幅图像的边界像素有什么好处?嗯,我猜你没有捕捉到我的答案。这不是优势,而是必须做的事。