Exit

Уроки онлайн

Уровень

Цветовые модели

Назначение цветовой модели - дать средства описания цвета в пределах некоторого цветового охвата, в том числе и для выполнения интерполяции цветов. Наиболее часто в компьютерной графике используются модели RGB, CMY, YIQ, HSV и HLS.

RGB (Red, Green, Blue - красный, зеленый, синий) - аппаратно-ориентированная модель, используемая в дисплеях для аддитивного формирования оттенков самосветящихся объектов (пикселов экрана). Система координат RGB - куб с началом отсчета (0,0,0), соответствующим черному цвету (см. рис. 0.4.1). Максимальное значение RGB - (1,1,1) соответствует белому цвету.

 


Рисунок 8

 

Рис. 0.4.1: Цветовой куб модели RGB

 

CMY (Cyan, Magenta, Yellow - голубой, пурпурный, желтый) - аппаратно-ориентированная модель, используемая в полиграфии для субтрактивного формирования оттенков, основанного на вычитании слоем краски части падающего светового потока. Цвета модели CMY являются дополнительными к цветам модели RGB, т.е. дополняющими их до белого. Таким образом система координат CMY - тот же куб, что и для RGB, но с началом отсчета в точке с RGB координатами (1,1,1), соответствующей белому цвету. Цветовой куб модели CMY показан на рис. 0.4.2.


Рисунок 9

 

Рис. 0.4.2: Цветовой куб модели CMY

 

Преобразования между пространствами RGB и CMY определяются следующим образом:

 

[ R G B ]   =   [ 1 1 1 ]  -  [ C M Y ]

Причем единичный вектор-строка в модели RGB - представление белого цвета, а в модели CMY - черного.

YIQ - аппаратно-ориентированная модель, используемая в телевидении и служащая для сокращения передаваемой полосы частот за счет использования психофизиологических особенностей зрения. Преобразования между пространствами RGB и YIQ определяются соотношениями (0.4.1) и (0.4.2).

  щ
ъ
ъ
ъ
ъ
ы
 
Y
I
Q
  щ
ъ
ъ
ъ
ъ
ы
= щ
ъ
ъ
ъ
ъ
ы
 
0.299
0.587
0.114
0.596
-0.274
-0.322
0.211
-0.522
0.311
  щ
ъ
ъ
ъ
ъ
ы
  щ
ъ
ъ
ъ
ъ
ы
 
R
G
B
  щ
ъ
ъ
ъ
ъ
ы
 
(0.4.1)

  щ
ъ
ъ
ъ
ъ
ы
 
R
G
B
  щ
ъ
ъ
ъ
ъ
ы
= щ
ъ
ъ
ъ
ъ
ы
 
  1.0
0.956
0.623
  1.0
-0.272
-0.648
  1.0
-1.105
0.705
  щ
ъ
ъ
ъ
ъ
ы
  щ
ъ
ъ
ъ
ъ
ы
 
Y
I
Q
  щ
ъ
ъ
ъ
ъ
ы
 
(0.4.2)

HSV (Hue, Saturation, Value - цветовой тон, насыщенность, количество света или светлота) - модель, ориентированная на человека и обеспечивающая возможность явного задания требуемого оттенка цвета (см. рис. 0.4.3). Подпространство, определяемое данной моделью - перевернутый шестигранный конус.

По вертикальной оси конуса задается V - светлота, меняющаяся от 0 до 1. Значению V = 0 соответствует вершина конуса, значению V = 1 - основание конуса; цвета при этом наиболее интенсивны.

Цветовой тон H задается углом, отсчитываемым вокруг вертикальной оси. В частности, 0° - красный, 60° - желтый, 120° - зеленый, 180° - голубой, 240° - синий, 300° - пурпурный, т.е. дополнительные цвета расположены друг против друга (отличаются на 180°).

Насыщенность S определяет насколько близок цвет к "чистому" пигменту и меняется от 0 на вертикальной оси V до 1 на боковых гранях шестигранного конуса.

Точка V = 0, в которой находится вершина конуса, соответствует черному цвету. Значение S при этом может быть любым в диапазоне 0-1. Точка с координатами V = 1, S = 0 - центр основания конуса соответствует белому цвету. Промежуточные значения координаты V при S=0, т.е. на оси конуса, соответствуют серым цветам. Если S = 0, то значение оттенка H считается неопределенным.

Подпрограммы перехода от RGB к HSV и обратно приведены в Приложении 1.

 


Рисунок 10

 

Рис. 0.4.3: Цветовая модель HSV

 

HLS (Hue, Lightness, Saturation - цветовой тон, светлота, насыщенность) - модель ориентированная на человека и обеспечивающая возможность явного задания требуемого оттенка цвета (см. рис. 0.4.4). Эта модель образует подпространство, представляющее собой двойной конус, в котором черный цвет задается вершиной нижнего конуса и соответствует значению L = 0, белый цвет максимальной интенсивности задается вершиной верхнего конуса и соответствует значению L = 1. Максимально интенсивные цветовые тона соответствуют основанию конусов с L = 0.5, что не совсем удобно.

Цветовой тон H, аналогично системе HSV, задается углом поворота.

Насыщенность S меняется в пределах от 0 до 1 и задается расстоянием от вертикальной оси L до боковой поверхности конуса. Т.е. максимально насыщенные цветовые цвета располагаются при L=0.5, S=1.

В общем, систему HLS можно представить как полученную из HSV "вытягиванием" точки V=1, S=0, задающей белый цвет, вверх для образования верхнего конуса.

Подпрограммы перехода от RGB к HLS и обратно приведены в Приложении 1.

 


Рисунок 11

 

Рис. 0.4.4: Цветовая модель HLS

 

 

0.4.1  Задание цветов

Растровые дисплеи, как правило, используют аппаратно-ориентированную модель цветов RGB.

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

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

В модели RGB легко задавать яркости для одного из основных цветов, но по крайней мере затруднительно задать оттенок с требуемым цветовым тоном и насыщенностью. В различного рода графических редакторах эта задача обычно решается с помощью интерактивного выбора из палитры цветов и формированием цветов в палитре путем подбора значений RGB до получения требуемого визуального результата. Более удобно в этом случае использовать модели HVS или HLS, позволяющие непосредственно задать требуемый оттенок. Конечно, при занесении данных в таблицу цветности или для полноцветных дисплеев - в видеопамять требуется перевод в значений в систему RGB.

 

0.4.2  Интерполяция цветов

Интерполяция цветов требуется во многих случаях для создания эффектов реалистичности изображения, например, при наложении цветов в технике акварели, т.е. при наложении одного прозрачного цвета на другой, при создании эффектов постепенного изменения цвета в последовательности картин, при построчном заполнении многоугольника методом Гуро и т.д.

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

В остальных случаях более удобно пользоваться аппаратно-ориентированной моделью RGB.