how to find Euclidean distance in matlab?

2 ビュー (過去 30 日間)
ganesh s
ganesh s 2011 年 12 月 2 日
編集済み: Walter Roberson 2017 年 10 月 11 日
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 件のコメント
ganesh s
ganesh s 2011 年 12 月 2 日
want to find Euclidean distance between 1000 images(.mat file)& one query image (.mat file) in MATLAB

サインインしてコメントする。

採用された回答

Junaid
Junaid 2011 年 12 月 2 日
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 件のコメント
Junaid
Junaid 2011 年 12 月 2 日
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 2011 年 12 月 2 日
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

サインインしてコメントする。

その他の回答 (2 件)

divya r
divya r 2012 年 6 月 15 日
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 件のコメント
Walter Roberson
Walter Roberson 2012 年 6 月 15 日
Please start a new Question for this matter.
Htet Yamin Ko Ko
Htet Yamin Ko Ko 2017 年 10 月 11 日
編集済み: Walter Roberson 2017 年 10 月 11 日
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.

サインインしてコメントする。


Dodo Dodda
Dodo Dodda 2016 年 5 月 18 日
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 件のコメント
Walter Roberson
Walter Roberson 2016 年 5 月 18 日
pdist2()

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeSimulink Functions についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by