Я новичок в 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 (T)) выдает ошибку: «Индекс превышает размерность матрицы». Может кто-нибудь помочь? Моя цель - сложить все эти различия и поместить их в матрицу Z.