我是Matlab的新手。我试图做一些图像匹配。图像X更大,图像Y更小。我们的目标是找到y与x的所有可能重叠,然后计算每个这样的RGB的平方差和重叠(即x ^ 2 + y ^ 2 + z ^ 2)。所以我在更大的图像中找到一个位置(i,j),从中我们选择一个图块并匹配。
准确地说,这里是代码:-
a=size(X,1)-size(Y,1);
b=size(X,2)-size(Y,2);
Z=ones(a,b);
for i=1:a
for j=1:b
A=[X(i:i+size(Y,1)-1,j:j+size(Y,2)-1,1)-Y(1:end,1:end,1)].^2;
B=[X(i:i+size(Y,1)-1,j:j+size(Y,2)-1,2)-Y(1:end,1:end,2)].^2;
C=[X(i:i+size(Y,1)-1,j:j+size(Y,2)-1,3)-Y(1:end,1:end,3)].^2;
T=A+B+C
size(T)
P=sum(sum(T))
%Z(i,j)=sum(sum(T));
end;
end;
现在的问题是 sum(sum(T)) 行抛出一个错误 -“索引超过矩阵维度”。有人可以帮忙吗?我的目标是将所有这些差异相加并将其放入矩阵 Z 中。