how to find Euclidean distance in matlab?

5 views (last 30 days)
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
ganesh s
ganesh s on 2 Dec 2011
want to find Euclidean distance between 1000 images(.mat file)& one query image (.mat file) in MATLAB

Sign in to comment.

Accepted Answer

Junaid
Junaid on 2 Dec 2011
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
Junaid
Junaid on 2 Dec 2011
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.
ganesh s
ganesh s on 2 Dec 2011
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.

More Answers (2)

divya r
divya r on 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
Walter Roberson
Walter Roberson on 15 Jun 2012
Please start a new Question for this matter.
Htet Yamin Ko Ko
Htet Yamin Ko Ko on 11 Oct 2017
Edited: Walter Roberson on 11 Oct 2017
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
Dodo Dodda on 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?

Products

Community Treasure Hunt

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

Start Hunting!