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

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

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

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

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

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

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

(6.1)

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

Для некоторых цветов коэффициенты в модели RGB должны иметь отрицательные веса. То есть система RGB имеет неполный цветовой охват: некоторые насыщенные цвета (все насыщенные спектральные цвета, кроме базовых цветов самой модели) не могут быть представлены смесью трех компонент.

Для решения проблемы отрицательных коэффициентов в модели RGB в 1931 г. Международная комиссия по освещению приняла систему XYZ. В этой системе в качестве базовых были приняты три цвета X, Y и Z, которые носят условный характер (не соответствуют никаким реальным цветам), величина Y совпадает с чувствительностью глаза к свету.

Цветовой график для модели XYZ в хроматических координатах x = X / (X + Y + Z) и y = Y / (X + Y + Z) представлен на рис. 2.2.

Рис. 2.2. Цветовой график в хроматических координатах

На цветовом графике все видимые цвета попадают внутрь замкнутой области, ограниченной с одной стороны кривой линией (соответствующей насыщенным спектральным цветам), а с другой стороны – прямой, соответствующей неспектральным сиреневым цветам.

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

(6.2)

(6.3)

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 считается неопределенным.

Рис. 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, задающей белый цвет, вверх для образования верхнего конуса.

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

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

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

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

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

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