how can we do "8-coarse division of RGB color space" for dominant color extraction?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
this is basically for quantized color.
0 Kommentare
Antworten (2)
Image Analyst
am 31 Dez. 2012
7 Kommentare
Image Analyst
am 31 Dez. 2012
It looks like the FAQ applies here: http://matlab.wikia.com/wiki/FAQ#Can_you_program_up_the_algorithm_in_this_article_for_me_and_explain_it_to_me.3F, though it looks somewhat interesting so if I can find the time today or tomorrow maybe I can read the paper.
Walter Roberson
am 31 Dez. 2012
dImage = im2double(YourImage);
binned_image = round(dImage);
quadrant_num = binned_image(:,:,1) * 4 + binned_image(:,:,2) * 2 + binned_image(:,:,1);
quadrant 0 would be (low red, low blue, low green), quadrant 1 would be (low red, low blue, high green), quadrant 2 would be (low red, high blue, low green), and so on up to quadrant 7 as (high red, high blue, high green)
You might want to add 1 to the quadrant number, if you want to use it as an index.
10 Kommentare
Walter Roberson
am 1 Jan. 2013
Okay, here it is:
dImage = im2double(YourImage);
binned_image = round(dImage);
quadrant_num = uint8( binned_image(:,:,1) * 4 + binned_image(:,:,2) * 2 + binned_image(:,:,1) );
quadrant_num will now be exactly like rgb2ind() in that it will return a 2D array of uint8() values, each of which is an "ind". Keep in mind that exactly like rgb2ind(), the value 0 represents the first color in the color map, and 1 represents the second color, and so on.
Siehe auch
Kategorien
Mehr zu Color finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!