how can i get the indexes

|| I am working in CBIR by histogram color my prof just wants to test me if i understand it or no so it is not my final project
now I have file has 161 images inside and I have 10 query images
I have extracted histogram color for the images files and i put them in vectory then I compute Euclidean distance for each images for query image and images file and i put them all in vectory so now I have 10*161 .until here is my work is good ?? then now if I sort the vectory ok how could i get the reall index for the images have smallest Euclidean distance , I try to do this
[x, y] = sort[vectory4] and then take the index but it gave me the first 10 images in database not that i want .
hope anyone help me .
thank you ||*

2 Comments

Jan
Jan on 18 Aug 2013
It is hard to estimate if "I have 10*161" is correct or not. Actually "10*161" is 1610, but you certainly mean a matrix. Afterwards you are looking for a kind of sorting. But what is "vector4"?
"vector4" it is a vector where i put the result of compute Euclidean distance

Sign in to comment.

 Accepted Answer

Did you look at the min function?
% Generate sample data.
array10by161 = randi(1000, [10, 161]);
% Find min distance for each image (each row)
% and it's location (column number)
[minDistances, indexOfMin] = min(array10by161, [], 2)

5 Comments

thank you so much ^Image Analyst^ it works good now
but it just show me 10 retrieval image how could i make it show for example 20 I meant indexOfMin has just 10 values inside it
You said "i put them all in vectory so now I have 10*161" so just do the same thing but for 20, or however many you want, instead of 10.
I tried that early before I asked you here but it still has just 10 values
Well then, you're not building up your array properly. Isn't the row number the number of the image that you processed? So results from image #11 should have gone into row #11?
shima said
shima said on 21 Aug 2013
Edited: shima said on 21 Aug 2013
yes each row for one query image so 10 rows * 161 Columns
let me explain more i meant the 10 queries image ok , in my database there is others images are similar to them so for example q1 have 4 similar images so i want to show all them for each image . hope u understand me . ur answered worked good but it just show me 10 images i need more .

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!