Matlab将图像的色调和饱和度量化为二进制位

时间:2015-12-03 17:46:22

标签: matlab image-processing

有没有办法将图像的色调,饱和度和值量化为分档? 我想将Hue量化为20个箱,饱和度和值分别为8个箱。

之后,我想计算每个箱子中的Hue数量,以及饱和度和值。

1 个答案:

答案 0 :(得分:1)

您可以使用rgb2hsv

将图片转换为hsv
hsv_im = rgb2hsv( rgb_im );

现在,您可以在HSV空间中定义一个代表量化分档的色彩映射表。中心

dh = 1/20; %// bin for Hue
dsv = 1/8; %// bin for saturation/value
[Q{1:3}] = meshgrid((dh/2):dh:1, (dsv/2):dsv:1, (dsv/2):dsv:1 ); 
Q = [Q{1}(:) Q{2}(:) Q{3}(:)]; %// quant color map

获得色彩地图后,您可以使用rgb2ind根据Q量化图片:

q_img = rgb2ind( hsv_im, Q, 'nodither' );