Clear Filters
Clear Filters

if the coding is correct to find the euclidean distance

2 views (last 30 days)
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

Answers (2)

Walter Roberson
Walter Roberson on 28 Mar 2013
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 on 28 Mar 2013
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 Comment
Walter Roberson
Walter Roberson on 28 Mar 2013
princomp is documented as returning a vector for the "latent" output parameter, so it should not be necessary to use (:)

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!