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

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

Преобразование изображения RGB в изображение HSV

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

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

Figure contains an axes. The axes contains an object of type image.

Преобразуйте изображение в цветовое пространство 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)

Figure contains an axes. The axes contains an object of type image.

Подробнее о цветовом пространстве 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');

Figure contains an axes. The axes contains an object of type image.

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

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