How to extract colour descriptor (set of features) from the image?
14 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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.
0 commentaires
Réponse acceptée
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
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.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Image Processing Toolbox dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!