Преобразуйте между HSV-цветовыми пространствами и RGB

В этом примере показано, как настроить насыщение цветного изображения путем преобразования изображения в HSV-цветовое пространство. Пример затем отображает отдельные HSV-плоскости цвета (оттенок, насыщение и значение) синтетического изображения.

Преобразуйте изображение RGB в HSV-изображение

Считайте изображение RGB в рабочую область. Отобразите изображение.

RGB = imread('peppers.png');
imshow(RGB)

Преобразуйте изображение в HSV-цветовое пространство.

HSV = rgb2hsv(RGB);

Обработайте HSV-изображение. Этот пример увеличивает насыщение изображения путем умножения канала S на масштабный коэффициент.

[h,s,v] = imsplit(HSV);
saturationFactor = 2;
s_sat = s*saturationFactor;
HSV_sat = cat(3,h,s_sat,v);

Преобразуйте обработанное HSV-изображение назад в цветовое пространство RGB. Отобразите новое изображение RGB. Раскрашивает обработанное изображение, являются более вибрирующими.

RGB_sat = hsv2rgb(HSV_sat);
imshow(RGB_sat)

Более внимательное рассмотрение в HSV-цветовом пространстве

Для более близкого контроля HSV-цветового пространства создайте синтетическое изображение RGB.

RGB = reshape(ones(64,1)*reshape(jet(64),1,192),[64,64,3]);

Преобразуйте синтетическое изображение RGB в HSV-цветовое пространство.

HSV = rgb2hsv(RGB);

Разделите HSV-версию синтетического изображения в его плоскости компонента: оттенок, насыщение и значение.

[h,s,v] = imsplit(HSV);

Отобразите отдельные HSV-плоскости цвета с оригинальным изображением.

montage({h,s,v,RGB},"BorderSize",10,"BackgroundColor",'w');

Когда изображение плоскости оттенка в предыдущей фигуре иллюстрирует, значения оттенка делают линейный переход от высоко до низко. Если вы сравниваете изображение плоскости оттенка с оригинальным изображением, вы видите, что оттенки темно-синего цвета имеют самые высокие значения, и оттенки темно-красного цвета имеют самые низкие значения. (Как утверждено ранее, существуют значения красного цвета на обоих концах шкалы оттенка. Чтобы избежать беспорядка, демонстрационное изображение использует только красные значения с начала области значений оттенка.)

Насыщение может считаться чистотой цвета. Когда изображение плоскости насыщения показывает, цвета с самым высоким насыщением имеют самые высокие значения и представлены как белые. В центре изображения насыщения заметьте различные оттенки серого. Они соответствуют смеси цветов; голубые цвета, зеленые и желтые оттенки являются смесями истинных цветов. Значение примерно эквивалентно яркости, и вы заметите, что самые яркие области плоскости значения соответствуют самым ярким цветам в оригинальном изображении.