MATLAB Answers

0

how to find Euclidean distance in matlab?

Asked by ganesh s on 2 Dec 2011
Latest activity Edited by Walter Roberson
on 11 Oct 2017
hi i have extracted the feature of the 1000 images by using color Correlogram & saved it in a .mat file, now i want to match some query image(consist of .mat file) with this data base by using Euclidean distance for image retrieval.but i don't know how to find the Euclidean distance between 1000 data base images & one query image. thanks

  1 Comment

want to find Euclidean distance between 1000 images(.mat file)& one query image (.mat file) in MATLAB

Sign in to comment.

4 Answers

Answer by Junaid
on 2 Dec 2011
 Accepted Answer

Dear what is the size of your feature vector, if it is column vector then let say your have 1000 feature vector of 1000 images. I denote it by D, where each column is feature vector of each image, in short column represent single image. and your Query image is Q is single column vector.
it can be computed as simple as;
Q= repmat(Q,1,size(D,2));
E_distance = sqrt(sum((Q-D).^2));
now E_distance is euclidean matrix distance. where each cell is distance of Query with database image.

  3 Comments

thanks Junaid for your answer
my Feature vector is of size (1000x1 cell) with each extracted image of size(4096x48 double) i want to match query image of size(4096x48)with this data base
I assume for Each image you have 1000 x 1 vector. one possible way way is that you concatenate all images to one matrix. Let say you have 100 images then you get D 1000 x 100. Where each column is feature of single image. and then you query Q is 10000x1. then simply
Q = Q';
once you can do it, then above code will give you Euclidean distance Q with all images. You can plot E_distance to see the result.
thanks again junaid
i already concatenate the all 1000 images in two one column matrix of size(1000x1)with each row represent the extracted image of size(4096x48)now i want to take one query image of size 4096x48(my original image is of size 384x256 after extracting feature by correlogram method it become 4096x48 ) and want to find it's euclidean distance for image retrieval

Sign in to comment.


divya r 님의 답변 15 Jun 2012

How did you concatenate data from multiple matfiles into one? I have done it fr only 2 .mat files, but i am stuck in the logic for multiple .mat files. Could you please help me out with the logic?

  2 Comments

Please start a new Question for this matter.
if exist('feat.mat')
load feat.mat
else feat= [];
end
feat = [feat,featVec]; % you should use ; for row vectors and , for column vectors
save feat.mat feat
feat.mat is my existing .mat file and featVec is my current extracted feature vector. I hope it helps you.

Sign in to comment.


Dodo Dodda 님의 답변 18 May 2016

I have a data set of 160 images, and i extracted features of these images and saved them in .mat file, now i want to match between features of another image and all features that i saved in the .mat file. How i can do this using eulidean distance algorithm?

  1 Comment

pdist2()

Sign in to comment.


k p 님의 답변 21 Sep 2016

i have two image.one is shifted and one is main i have to find the shift of whole image in x direction and y direction how can i find? only two values i want in point pixel in c.

  1 Comment

Please start a new Question for this matter. It does not have anything to do with this Euclidean Distance topic.

Sign in to comment.