RGB

Из Википедии, бесплатной энциклопедии

Аддитивное смешение цветов
Глубина цвета
См. также

RGB (аббревиатура английских слов Red, Green, Blue — красный, зелёный, синий) или КЗС — аддитивная цветовая модель, описывающая способ кодирования цвета для цветовоспроизведения с помощью трёх цветов, которые принято называть основными. Выбор основных цветов обусловлен особенностями физиологии восприятия цвета сетчаткой человеческого глаза.

RGB-модель является аддитивной, где производные цвета получаются путём добавления к чёрному цвету различных пропорций основных цветов модели. При отсутствии всякого излучения (добавления) — нет никакого цвета — чёрный, смешение всех трёх в определённой[какой?] пропорции — даёт белый. Если цвет экрана, освещённого цветным прожектором, обозначается в RGB как (r1, g1, b1), а цвет того же экрана, освещённого другим прожектором, — (r2, g2, b2), то при освещении двумя прожекторами цвет экрана будет обозначаться как (r1+r2, g1+g2, b1+b2).

Изображение в данной цветовой модели состоит из трёх каналов. При смешении основных излучений, например, синего (B) и красного (R), получается пурпурный (M, magenta), зелёного (G) и красного (R) — жёлтый (Y, yellow), зелёного (G) и синего (B) — циановый (С, cyan). При смешении всех трёх основных излучений получается белый цвет (W, white).

В телевизорах и мониторах ЭЛТ применяются три электронных пушки для красного, зелёного и синего каналов. В ЖК- и других матричных мониторах и телевизорах носителями трёх цветов являются светоточки (светодиоды, светофильтры).

Существует большое количество цветовых пространств RGB, основанных на модели RGB. Наиболее распространённое — пространство sRGB — имеет по многим тонам цвета более широкий цветовой охват (может представить более насыщенные цвета), чем в цветовых пространствах CMYK, поэтому иногда изображения, замечательно выглядящие в RGB, значительно тускнеют и гаснут в CMYK.

Джеймс Максвелл предложил аддитивный синтез цвета как способ получения цветных изображений в 1861 году[1].

Определение[править | править код]

Ограничение sRGB по возможности передачи цветов

Цветовая модель RGB является зависимой от устройства. Поскольку мониторы разных моделей и производителей различаются, было предложено несколько стандартов цветовых пространств для этой модели. Например, sRGB является стандартом для изображения на мониторе (профиль «по умолчанию» для компьютерной графики). Также распространён Adobe RGB, а при редактировании[чего?] используется ProPhoto.

Цветовая модель RGB может использовать разные базовые цвета (в том числе, цвета не реализуемые физически), разную цветовую температуру для «белой точки», и разный показатель гамма-коррекции.

Числовое представление[править | править код]

RGB-цветовая модель, представленная в виде куба

Для большинства приложений модель RGB может быть представлена как система координат r, g и b, значения которых можно считать принадлежащими отрезку [0,1], что представляет пространство RGB в виде куба 1×1×1.

В современных компьютерах каждая из координат обычно представляется одним октетом (8 бит), значения которого обозначаются для удобства целыми числами от 0 до 255 включительно, где 0 — минимальная, а 255 — максимальная глубина (интенсивность) цветового компонента. В этом случае чаще используется гамма-компенсированое цветовое пространство sRGB, обычно с показателем 1,8 (Mac) или 2,2 (PC).

Вместе с тем, используются также 16-битный цвет (с диапазонами 0…65535 или 0…32768, в зависимости от конкретной реализации), а для изображений HDR — 32-битный цвет (в целых значения или в числах с плавающей запятой). В последнем случае возможны яркости «белее белого» и даже «отрицательные яркости», которые не выводятся на экран, но хранятся в памяти и учитываются при различной фильтрации.

В параметрических установках различного программного обеспечения, проектов сред компьютерной разработки, в языках компьютерной разработки (в том числе HTML, см. цвета HTML) используется запись вида «#rrggbb», называемая шестнадцатеричной: цвет записывается в виде трёх шестнадцатеричных чисел («rr», «gg», «bb»), без пробелов. Например, белый цвет кодируется строкой #FFFFFF. В отдельных реализациях ПО очерёдность записи компонентов цвета, а также префикс («#»), могут отличаться.

COLORREF[править | править код]

COLORREF — стандартный тип для представления цветов в Win32. Используется для определения цвета в виде RGB. Размер — 4 байта. При определении какого-либо RGB цвета, значение переменной типа COLORREF можно представить в шестнадцатеричном виде так:

0x00bbggrr

rr, gg, bb — значение интенсивности соответственно красной, зелёной и синей составляющих цвета. Максимальное их значение — 0xFF.

Определить переменную типа COLORREF можно следующим образом:

 COLORREF C = RGB( r, g, b ); 

r, g и b — интенсивность (в диапазоне от 0 до 255) соответственно красной, зелёной и синей составляющих определяемого цвета C. То есть ярко-синий цвет может быть определён как (0,0,255), красный как (255,0,0), ярко-фиолетовый — (255,0,255), чёрный — (0,0,0), а белый — (255,255,255)

См. также[править | править код]

  • VGA-порт компьютера и монитора для передачи изображения часто обозначают как RGB IN, т.к. формат передачи сигнала имеет RGB-вид.
  • Цветовые пространства RGB — список и характеристики различных цветовых постранств, основанных на модели RGB

Примечания[править | править код]

  1. Синтез цвета // Фотокинотехника: Энциклопедия / Гл. ред. Е. А. Иофис. — М.: Советская энциклопедия, 1981. — 447 с.

Ссылки[править | править код]