MATLAB Answers

how can I start coding CBIR using color histogram

4 views (last 30 days)
shima said
shima said on 27 May 2013
Commented: Ragini Gaikwad on 14 May 2021
Hi all
I need help in how could I make a simple CBIR system using histogram technique
from where i should start
  2 Comments

Sign in to comment.

Answers (4)

Image Analyst
Image Analyst on 27 May 2013
You mean like this: http://labs.tineye.com/multicolr/ ?
Just try taking the mean of each color channel and have that be your feature vector that you save along with each image's record in your data base.
% Extract the individual red, green, and blue color channels.
redChannel = rgbImage(:, :, 1);
greenChannel = rgbImage(:, :, 2);
blueChannel = rgbImage(:, :, 3);
% Get means.
meanRed = mean2(redChannel);
meanGreen = mean2(greenChannel);
meanBlue = mean2(blueChannel);
Then, for a desired color that you want to find in your database, search all records in the database for those whose mean colors are close enough to your desired color and return them.
  1 Comment
Image Analyst
Image Analyst on 14 Jun 2013
Just sort the distances and take the ones with the smallest difference first.

Sign in to comment.


shima said
shima said on 13 Jun 2013
hi again I used grayscale and i stuck when i compute Euclidean distance after i get it so what should i do how to retreive the similarity image in my database one qurey image and file image which have 111 images
  1 Comment
Walter Roberson
Walter Roberson on 14 Jun 2013
Find the indices of the images with the lowest Euclidean distance. Retrieve them however needed to retrieve an arbitrary image.
In your current code, how do you refer to (say) the 9'th image? The 37'th ?

Sign in to comment.


shima said
shima said on 14 Jun 2013
sorry , I didn't get what u meant both of you after I stort Euclidean distance or find the lowest what should I do i stuck there couldanyone to hlep me to write that in matlab
  1 Comment
Image Analyst
Image Analyst on 15 Jun 2013
The square root of the sum of the squares of the distances:
euclideanDistances = sqrt(sum((featureVector1 - featureVector2))^2));
or something like that.

Sign in to comment.


Nivedita Nagappa
Nivedita Nagappa on 14 Nov 2013
Hi...I ve a similar problem..and im totally new to Matlab...can anyone pls help me out in this..??
PS: I too want to develop a simple CBIR system using color histogram

Community Treasure Hunt

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

Start Hunting!