我正在努力比较多个图像。我将这些图像数据作为称为“图像”的矩阵的列向量。我想通过首先计算它们的欧几里德距离来评估图像的相似性。然后我想创建一个矩阵,我可以在该矩阵上执行多个随机游走。现在,我的代码如下:
% 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
然而,我的矩阵 M 最终沿其主对角线的值为 1,而其他地方的值为 0。我期待每行的前几个元素的“大”值和列索引> 4的元素的“小”值。有人可以解释什么是错的吗?任何建议表示赞赏。