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
0 个评论
回答(2 个)
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.
0 个评论
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
2013-3-28
princomp is documented as returning a vector for the "latent" output parameter, so it should not be necessary to use (:)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!