Je travaille à la comparaison de plusieurs images. J'ai ces données d'image en tant que vecteurs de colonne d'une matrice appelée "images". Je veux évaluer la similarité des images en calculant d'abord leur distance euclidienne. Je veux ensuite créer une matrice sur laquelle je peux exécuter plusieurs marches aléatoires. En ce moment, mon code est le suivant:Comment créer une matrice de similitude dans MATLAB?
% clear
% clc
% close all
%
% load tea.mat;
images = Input.X;
M = zeros(size(images, 2), size (images, 2));
for i = 1:size(images, 2)
for j = 1:size(images, 2)
normImageTemp = sqrt((sum((images(:, i) - images(:, j))./256).^2));
%Need to accurately select the value of gamma_i
gamma_i = 1/10;
M(i, j) = exp(-gamma_i.*normImageTemp);
end
end
Ma matrice M cependant, finit par avoir une valeur de 1 le long de sa diagonale principale et des zéros ailleurs. J'attends de "grandes" valeurs pour les premiers éléments de chaque ligne et de "petites" valeurs pour les éléments avec un index de colonne> 4. Quelqu'un pourrait-il expliquer ce qui ne va pas? Tout conseil est apprécié.
en relation: http://stackoverflow.com/q/11059274/97160, http://stackoverflow.com/q/7696734/97160, http://stackoverflow.com/q/6989442/97160 – Amro