exponenta event banner

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

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

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