Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

how to find Euclidean distance in matlab?

Asked by ganesh s on 2 Dec 2011

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 on 2 Dec 2011

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

ganesh  s


2 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.


ganesh s on 2 Dec 2011

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

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 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

Answer by 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?

1 Comment

Walter Roberson on 15 Jun 2012

Please start a new Question for this matter.

divya r

Contact us