if the coding is correct to find the euclidean distance

1 次查看(过去 30 天)
x=double(imread('result.png'));
[pc, score,latent,tsquare] = princomp(x);
y=double(imread('result1.png'));
[pc1,score1,latent1,tsquare1] = princomp(y);
img=latent;
img2=latent1;
dist = sqrt(sum((img - img2) .^ 2));
ITS A CORRECT CODING SIR

回答(2 个)

Walter Roberson
Walter Roberson 2013-3-28
Maybe. It is not obvious to me that taking the euclidean distance of the latent is meaningful, though. Also I see no inherent reason why the vectors would be the same length unless the images happened to be the same size.

Jan
Jan 2013-3-28
Please note that uppercase characters means shouting in a forum.
It is hard to guess, if the coding is correct, when you do not explain, what the function should do. Perhaps you want a single number as output:
dist = sqrt(sum((img(:) - img2(:)) .^ 2))
  1 个评论
Walter Roberson
Walter Roberson 2013-3-28
princomp is documented as returning a vector for the "latent" output parameter, so it should not be necessary to use (:)

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Dimensionality Reduction and Feature Extraction 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by