複数の画像の比較に取り組んでいます。私はこれらの画像データを「画像」と呼ばれる行列の列ベクトルとして持っています。最初にユークレディアン距離を計算して、画像の類似性を評価したいと思います。次に、複数のランダムウォークを実行できるマトリックスを作成します。現在、私のコードは次のとおりです。
% 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の値を持ち、他の場所ではゼロになります。各行の最初のいくつかの要素には「大きい」値、列インデックスが4より大きい要素には「小さい」値を期待しています。誰かが何が悪いのか説明してもらえますか?アドバイスをいただければ幸いです。