How to extract colour descriptor (set of features) from the image?

13 vues (au cours des 30 derniers jours)
Andrew Tim
Andrew Tim le 3 Juil 2015
Commenté : nissrine Neyy le 23 Jan 2021
Hello, I have the following task. I want to compute the color histogram of an Image in HSV color space. For that I want to uniformly quantize the HSV color space into 240 cubes in which the quantization of each channel is 15 hues (H), 4 saturations (S) and 4 intensities (V ) respectively. And after making this color histogram the values of each bin is my 240 dim vector of color features which I want to get finally. Could someone please help me with the m-code for this task or with the high level plan how to create it? I will really appreciate it. Thank you.

Réponse acceptée

Image Analyst
Image Analyst le 3 Juil 2015
Loop over every pixel in the image and determine the bin, then increment the count. Here's a start
[rows, columns, numberOfColorChannels] = size(rgbImage);
hsvImage = rgb2hsv(rgbImage); % Ranges from 0 to 1.
hsvHist = zeros(15,4,4);
for col = 1 : columns
for row = 1 : rows
hBin = floor(hsvImage(row, column, 1) * 15);
sBin = floor(hsvImage(row, column, 2) * 4);
vBin = floor(hsvImage(row, column, 3) * 4);
hsvHist(hBin, sBin, vBin) = hsvHist(hBin, sBin, vBin) + 1;
end
end
  17 commentaires
Image Analyst
Image Analyst le 23 Jan 2021
nissrine, note that an array defined as zeros(n1, n2, n3) is always a 3-D array regardless of what the values of n1, n2, and n3 are.
Now h, s, and v are basically continuous variables in the range of 0-1 and the poster wanted to divide the range of h into 16 bins and s and v into 4 bins.
nissrine Neyy
nissrine Neyy le 23 Jan 2021
Okey, got it now .. thank you so much :)

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Image Processing Toolbox dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by