5

我试图在图像大小为 PXP 的两个图像 f1 和 f2 之间找到以下相关性。

我已经为此编写了一个 for 循环程序,但我认为内置函数会更快。

在此处输入图像描述

matlab 中的哪个函数可以帮助我计算这个?

此外,如果两个图像的大小都是 MXN,有人可以告诉我这个公式将如何变化,或者函数是否能够处理它。

编辑:

有没有比xcorr2更快的函数可以帮助我看到当我只需要具有关联未移位图像的值时花费太多时间......

4

3 回答 3

9

这是用于在两个图像(矩阵)之间进行相关(系数)的函数:

r = corr2(A,B) 计算 A 和 B 之间的相关系数,其中 A 和 B 是相同大小的矩阵或向量。

而 xcorr2 (A, B) 解决交叉相关问题。

于 2012-11-18T23:04:40.333 回答
7

MATLABxcorr2正是为此目的。我想你的代码看起来像:

r = xcorr2(f1, f2) / (P .^ 2)

这两个图像在哪里f1和是。f2得到的矩阵r是 ( 2P-1 )×(2P-1) 矩阵,当两幅图像偏移对应于该元素与中心的偏移量的偏移量时,其每个元素都反映了 f1 和 f2 之间的相似性度量.

请注意,如果您只对两个未移位图像之间的相关性感兴趣,那么您应该节省执行时间并使用corr2,就像@TheByzantine 在他的回答中所建议的那样。

于 2012-11-18T23:02:31.460 回答
6

使用 xcorr2函数。例如:

 C=xcorr2(A,B)
于 2012-11-18T23:02:18.980 回答