Доброго времени суток, дорогие читатели, знакомые, посетители, мимопроходящие личности и прочие странные существа! Сегодня мы поговорим о немного специфической, но несомненно важной вещи для любого пользователя, а именно о такой штуке: представление цвета в компьютере.

Как ни крути, но рано или поздно все столкнутся с практической необходимостью понимания, что такое цветовая модель, да и просто сие знание полезно с точки зрения расширения кругозора и осознания - что и как работает в компьютере и из чего он состоит как с программной, так и с физической точки зрения.

Что такое цветовая модель

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

Мы рассмотрим самые основные модели. Их 5 . Как правило, используется одновременно несколько различных моделей, т.к. некоторые удобнее всего использовать в визуальном виде, а другие в численном.

RGB

Это самая распространенная модель представления цвета. В ней любой цвет рассматривается как оттенки трех основных (или базовых) цветов: красный (Red) , зеленый (Green) и синий (Blue). При этом существует два вида этой модели: восьмибитное представление, где цвет задается числами от 0 до 255 (например, цвет будет соответствовать синему, а - желтому), и шестнадцатибитное , которое чаще всего используется в графических редакторах и html , где цвет задается числами от 0 до ff (зеленый - #00ff00 , синий - #0000ff , желтый - #ffff00 ).

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

Особенность этой модели в том, что здесь новый цвет получается путем добавления оттенков основных цветов, т.е. "смешивания".

Хотите знать и уметь, больше и сами?

Мы предлагаем Вам обучение по направлениям: компьютеры, программы, администрирование, сервера, сети, сайтостроение, SEO и другое. Узнайте подробности сейчас!

На картинке выше видно, как цвета смешиваются друг с другом, образуя новые цвета (желтый - [255,255,0 ], пурпурный - [255,0,255 ], голубой - [0,255,255 ] и белый [255,255,255 ]).

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

Так что это самая распространенная модель у веб-дизайнеров (передаем пламенный привет css ) и программистов.

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

CMYK

Это тоже очень распространенная модель, но многие о ней могли вообще ничего не слышать:)

А всё из-за того, что она используется исключительно для печати. Она расшифровывается как Cyan, Magenta, Yellow, Black (или Key Color ), т.е. Голубой, Пурпурный, Желтый и Черный (или ключевой цвет ).

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

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

Таким образом, получится скорее не черный, а грязно-серый или грязно-коричневый.

Поэтому (и не только) ввели еще черный цвет, чтобы не пачкать бумагу, не тратиться на тонеры и вообще жить было проще:)

Очень наглядно иллюстрирует всю суть следующая анимация (открывается по клику, вес около 14 Mb ):

Цвет в этой модели задается числами от 0 до 100 , где эти числа часто называют "частями" или "порциями" выбранного цвета. Например, цвет "хаки" получается путем смешивания 30 частей голубой краски, 45 - пурпурной, 80 - желтой и 5 - черной, т.е. цвет хаки будет .

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

HSV (HSB) и HSL

Эти две цветовые модели я объединил, т.к. они схожи по своему принципу.

Трехмерная реализация HSL (слева) и HSV (справа) моделей представлена в виде цилиндра ниже, но на практике в ПО (программном обеспечении) не используется, ибо.. ибо трехмерная:)

HSV (или HSB) означает Hue, Saturation, Value (еще может именоваться Brightness ), где:

  • Hue - цветовой тон, т.е. оттенок цвета.
  • Saturation - насыщенность. Чем выше этот параметр, тем "чище" будет цвет, а чем ниже, тем ближе он будет к серому.
  • Value (Brightness ) - значение (яркость) цвета. Чем выше значение, тем ярче будет цвет (но не белее). А чем ниже, тем темнее (0% - черный)

HSL - Hue, Saturation, Lightness

  • Hue - Вы уже знаете
  • Saturation - аналогично
  • Lightness - это светлота цвета (не путать с яркостью) . Чем выше параметр, тем светлее цвет (100% - белый), а чем ниже, тем темнее (0% - черный).

Более распространенная модель - HSV , она часто используется вместе с моделью RGB , где HSV показана в визуальном виде, а числовые значения задаются в RGB . :

Здесь RGB- модель обведена красным и значения оттенков задаются числами от 0 до 255 , либо сразу можно указать цвет в шестнадцатеричном виде. А синим обведена HSV модель (визуальная часть в левом прямоугольнике, числовая - в правом ). Также часто можно указать непрозрачность (так называемый альфа-канал ).

Такая модель чаще всего используется в простой (или непрофессиональной) обработке изображений, т.к. при помощи неё удобно регулировать основные параметры фотографий, не прибегая к куче различных фильтров или отдельных настроек.
Например во всеми любимом (или проклинаемом) фотошопе присутствуют обе модели, только одна из них находится в редакторе выбора цвета, а другая - в окне настроек Hue/Saturation

Здесь красным показа RGB- модель, синим - HSB , зеленым - CMYK и голубым Lab (о ней чуть позже), что видно на картинке:)
А HSL- модель находится в таком вот окошке:

Недостаток HSB- модели в том, что она также зависит от аппаратной части. Она просто не соответствуют восприятию человеческого глаза, т.к. оный воспринимает цвета с разной яркостью (например, синий воспринимается нами более темным, чем красный), а в этой модели у всех цветов одинаковая яркость. У HSL аналогичные проблемы:)

Таких недостатков хотели избежать, поэтому одна небезызвестная компания CIE (Международная комиссия по освещению - Commission Internationale de l"Eclairage ) придумала новую модель, призванную не зависеть от аппаратной части. И назвали её Lab (нет, это не сокращение от Laboratory ).

Lab или L,a,b

Эта модель является одной из стандартных, хотя и малоизвестна рядовому пользователю.

Расшифровывается она следующим образом:

  • L - Luminance - освещенность (это совокупность яркости и интенсивности)
  • a - один из компонентов цвета, меняется от зеленого до красного
  • b - второй из компонентов цвета, меняется от синего до желтого

На рисунке показаны диапазоны компонент a и b для освещенности 25% (слева) и 75% (справа)

Яркость в этой модели отделяется от цветов, поэтому при помощи неё удобно регулировать контраст, резкость и другие светопоказатели, не трогая при этом цвета:)

Однако эта модель совсем неочевидная для использования и ею довольно трудно пользоваться на практике. Поэтому её используют в основном в обработке изображений и для конвертации оных из одной цветовой модели в другую без потерь (да, это единственная модель, которая делает это без потерь), обычным же смертным страждущим пользователям достаточно, как правило, HSL и HSV плюс фильтры.

Ну и в качестве примера работы модели HSV, HSL и Lab вот картинка из Википедии (кликабельно)

RGB модель описывает излучаемые цвета. Она основана на трёх основных (базовых) цветах: красный (Red), зелёный (Green) и синий (Blue). RGB-модель можно назвать "родной" для дисплея. Остальные цвета получаются сочетанием базовых. Цвета такого типа называются аддитивными.

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

Основные цвета взяты из биологии человека. То есть, эти цвета основаны на физиологической реакции человеческого глаза на свет. Человеческий глаз имеет фоторецептор клеток, реагирующих на наиболее зеленый (М), желто-зеленый (L) и сине-фиолетовый (S) света (максимальная длин волн от 534 нм, 564 нм и 420 нм соответственно). Человеческий мозг может легко отличить широкий спектр различных цветов на основе различий в сигналах, полученных от трех волн.

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

В режиме 16 бит на пиксель, также известном как Highcolor, есть либо 5 бит на цвет (часто упоминается как 555 режим) или с дополнительным битом для зеленого цвета (известен как 565 режим). Дополнен зеленый цвет из-за того, что человеческий глаз имеет способность выявлять больше оттенков зеленого, чем любого другого цвета.

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

В RGB - три канала: красный, синий и зелёный, т.е. RGB - трёхканальная цветовая модель. Каждый канал может принимать значения от 0 до 255 в десятичной или, что ближе к реальности, от 0 до FF в шестнадцатеричной системах счисления. Это объясняется тем, что байт, которым кодируется канал, да и вообще любой байт состоит из восьми битов, а бит может принимать 2 значения 0 или 1, итого 28=256. В RGB, например, красный цвет может принимать 256 градаций: от чисто красного (FF) до чёрного (00). Таким образом несложно подсчитать, что в модели RGB содержится всего 2563 или 16777216 цветов.

В RGB три канала, и каждый кодируется 8-ю битами. Максимальное, FF (или 255) значение даёт чистый цвет. Белый цвет получается путём сочетания всех цветов, точнее, их предельных градаций. Код белого цвета = FF(красный) + FF(зелёный) + FF(синий). Соответственно код чёрного = 000000. Код жёлтого = FFFF00, пурпурного = FF00FF, голубого = 00FFFF.

Также есть еще 32 и 48 битные режимы отображения цветов.

RGB не используется для печати на бумаге, вместо нее существует CMYK-цветовое пространство.

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

Английских слов r ed, g reen, b lue - красный , зелёный , синий) или КЗС - аддитивная цветовая модель , как правило, описывающая способ кодирования цвета для цветовоспроизведения с помощью трёх цветов, которые принято называть основными .

Выбор основных цветов обусловлен особенностями физиологии восприятия цвета сетчаткой человеческого глаза. Цветовая модель RGB нашла широкое применение в технике.

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

Числовое представление

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

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

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

На принципе такого деления света основан цветной телевизор или монитор Вашего компьютера. Если говорить очень грубо, то монитор, в который Вы сейчас смотрите состоит из огромного количества точек (их количество по вертикали и горизонтали определяет разрешение монитора) и в каждую эту точку светят по три "лампочки": красная, зеленая и синяя. Каждая "лампочка" может светить с разной яркостью, а может не светить вовсе. Если светит только синяя "лампочка" - мы видим синюю точку. Если только красная - мы видим красную точку. Аналогично и с зеленой. Если все лампочки светят с полной яркостью в одну точку, то эта точка получается белой, так как все градации этого белого опять собираются вместе. Если ни одна лампочка не светит, то точка кажется нам черной. Так как черный цвет - это отсутствие света. Сочетая цвета этих "лампочек", светящихся с различной яркостью можно получать различные цвета и оттенки.

Яркость каждой такой лампочки определяется интенсивностью (делением) от 0 (выключенная "лампочка") до 255 ("лампочка", светящая с полной "силой"). Такое деление цветов называется цветовой моделью RGB от первых букв слов "RED" "GREEN" "BLUE" (красный, зеленый, синий).


Таким образом белый цвет нашей точки в цветовой модели RGB можно записать в следующем виде:

R (от слова "red", красный) - 255

G (от слова "green", зеленый) - 255

B (от слова "blue", синий) - 255


"Насыщенный" красный будет выглядеть так:



Желтый цвет будет иметь следующий вид:


Так же, для записи цвета в rgb, используют шестнадцатеричную систему. Показали интенсивности запмсывают по порядку #RGB:

Белый - #ffffff

Красный - #ff0000

Черный - #00000

Желтый - #ffff00

Цветовая модель CMYK

Итак, теперь мы знаем, каким хитрым способом наш компьютер передает нам цвет той или иной точки. Давайте теперь воспользуемся приобретенными знаниями и попробуем получить белый цвет с помощью красок. Для этого купим в магазине гуашь, возьмем баночки с красной, синей и зеленой краской, и смешаем их. Получилось? И у меня нет.

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

Примерно так: мы светим на красный предмет белым светом. Белый свет можно представить как R-255 G-255 B-255. Но предмет не хочет отражать весь свет, который мы на него направили, и нагло ворует у нас все оттенки зеленого и синего. В итоге отражает только R-255 G-0 B-0. Именно поэтому он нам и кажется красным.

Так что для печати на бумаге весьма проблематично пользоваться цветовой моделью RGB. Для этого, как правило, используется цветовую модель CMY (цми) или CMYK (цмик). Цветовая модель CMY основана на том, что сам по себе лист бумаги белый, то есть отражает практически весь спектр RGB, а краски, наносимые на нее, выступают в качестве фильтров, каждый из которых "ворует" свой цвет (либо red, либо green, либо blue). Таким образом цвета этих красок определяются вычитанием из белого по одному цветов RGB. Получаются цвета Cyan (что-то вроде голубого), Magenta (можно сказать, розовый), Yellow (желтый).

И если в цветовой модели RGB градация каждого цвета происходила по яркости от 0 до 255, то в цветовой модели CMYK у каждого цвета основным значением является "непрозрачность" (количество краски) и определяется процентами от 0% до 100%.


Таким образом, белый цвет можно описать так:

C (cyan) - 0%; M (magenta) - 0%; Y (yellow) - 0%.

Красный - C-0%; M-100%; Y-100%.

Зеленый - C-100%; M-0%; Y-100%.

Синий - C-100%; M-100%; Y-0%.

Черный - C-100%; M-100%; Y-100%.

Однако, это возможно только в теории. А на практике же обойтись цветами CMY не получается. И черный цвет при печати получается скорее грязно-коричневым, серый не похож сам на себя, а темные оттенки цветов создать проблематично. Для урегулирования конечного цвета используется еще одна краска. Отсюда и последняя буква в названии CMYK (ЦМИК). Расшифровка этой буквы может быть разной:

Это может быть сокращение от blacK (черный). И в сокращении используется именно последняя буква, чтобы не спутать этот цвет с цветом Blue в модели RGB;

Печатники очень часто употребляют слово "Контур" относительно этого цвета. Так что возможно, что буква K в абревиатуре CMYK (ЦМИК) - это сокращение от немецкого слова "Kontur";

Так же это может быть сокращение от Key-color (ключевой цвет).

Однако ключевым его назвать сложно, так как он является скорее дополнительным. И на черный этот цвет не совсем похож. Если печатать только этой краской изображение получается скорее серое. Поэтому некоторые придерживаются мнение, что буква K в обревиатуре CMYK означает "Kobalt" (темно-серый, нем.).

Как правило, используется для обозначения этого цвета термин "black" или "черный".

Печать с использованием цветов CMYK называют "полноцветной" или "триадной".

*Стоит, наверное, сказать, что при печати CMYK (ЦМИК) краски не смешиваются. Они ложатся на бумагу "пятнами" (растром) одна рядом с другой и смешиваются уже в воображении человека, потому что эти "пятна" очень малы. То есть изображение растрируется, так как иначе краска, попадая одна на другую, расплывается и образуется муар или грязь. Существует несколько разных способов растрирования.


Цветовая модель grayscale

Изображение в цветовой модели grayscale многие ошибочно называют черно-белым. Но это не так. Черно-белое изображение состоит только из черных и белых тонов. В то время, как grayscale (оттенки серого) имеет 101 оттенок. Это градация цвета Kobalt от 0% до 100%.

Аппаратно-зависимые и аппаратно-независимые цветовые модели

Цветовые модели CMYK и RGB являются аппаратно-зависимыми, то есть они зависят от способа передачи нам цвета. Они указывают конкретному устройству, как использовать соответствующие им красители, но не имеют сведений о восприятии конечного цвета человеком. В зависимости от настроек яркости, контрастности и резкости монитора компьютера, освещенности помещения, угла, под которым мы смотрим на монитор, цвет с одними и теми же параметрами RGB воспринимается нами по-разному. А восприятие человеком цвета в цветовой модели "CMYK" зависит от еще большего ряда условий, таких как свойства запечатываемого материала (например, глянцевая бумага впитывает меньше краски, чем матовая, соответственно цвета на ней получаются более яркие и насыщенные), особенности краски, влажности воздуха, при котором сохла бумага, характеристик печатного станка…

Чтобы передать человеку более достоверную информацию о цвете, к аппаратно-зависимым цветовым моделям прикрепляют так называемые цветовые профили. Каждый из такого профиля содержит информацию о конкретном способе передачи человеку цвета и регулирует конечный цвет с помощью добавления или изъятия из какого-либо составляющего первоначального цвета параметров. Например, для печати на глянцевой пленке используется цветовой профиль, убирающий 10% Cyan и добавляющий 5% Yellow к первоначальному цвету, из-за особенностей конкретной печатной машины, самой пленки и прочих условий. Однако даже прикрепленные профили не решают всех проблем передачи нам цвета.

Аппаратно-независимые цветовые модели не несут в себе сведений для передачи цвета человеку. Они математически описывают цвет, воспринимаемый человеком с нормальным цветным зрением.

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

В основе этого цветового пространства лежит уже знакомое нам радужное кольцо RGB. Цвет управляется изменением таких параметров, как:

Hue - оттенок или тон;

Saturation - насыщенность цвета;

Brightness - яркость.


Параметр hue - это цвет. Определяется градусами от 0 до 360 исходя из цветов радужного кольца.

Параметр saturation - процент добавления к этому цвету белой краски имеет значение от 0% до 100%.

Параметр Brightness - процент добавления черной краски так же изменяется от 0% до 100%.

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

Это самая простая для понимания цветовая модель, поэтому ее очень любят многие web-дизайнеры. Однако она имеет ряд недостатков:

Глаз человека воспринимает цвета радужного кольца, как цвета, имеющие различную яркость. Например, спектральный зелёный имеет большую яркость, чем спектральный синий. В цветовой модели HSB все цвета этого круга считаются обладающими яркостью в 100%, что, к сожалению, не соответствует действительности.

Так как в её основе лежит цветовая модель RGB, она, все же является аппаратно-зависимой.

Эта цветовая модель конвертируется для печати в CMYK и конвертируется в RGB для отображения на мониторе. Так что догадаться, каким у вас в конечном счете получится цвет бывает весьма проблематично.


Аналогична этой модели цветовая модель HLS (расшифровка: hue, lightness, saturation).

Иногда используются для коррекции света и цвета в изображении.


Цветовая модель LAB

В этой цветовой модели цвет состоит из:

Luminance - освещенность. Это совокупность понятий яркость (lightness) и интенсивность (chrome)

A - это цветовая гамма от зеленного до пурпурного

B - цветовая гамма от голубого до желтого


То есть двумя показателями в совокупности определяется цвет и одним показателем определяется его освещенность.

LAB - Это аппаратно-независимая цветовая модель, то есть она не зависит от способа передачи нам цвета. Она содержит в себе цвета как RGB так и CMYK, и grayscale, что позволяет ей с минимальными потерями конвертировать изображение из одной цветовой модели в другую.

Еще одним достоинством является то, что она, в отличие от цветовой модели HSB, соответствует особенностям восприятия цвета глазом человека.

Часто используется для улучшения качества изображения, и конвертирования изображений из одного цветового пространства в другое.



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

Выбор основных цветов обусловлен особенностями физиологии восприятия цвета сетчаткой человеческого глаза. Цветовая модель RGB нашла широкое применение в технике.

Аддитивной она называется потому, что цвета получаются путём добавления (англ. addition) к черному. Иначе говоря, если цвет экрана, освещённого цветным прожектором, обозначается в RGB как (r 1 , g 1 , b 1 ), а цвет того же экрана, освещенного другим прожектором, - (r 2 , g 2 , b 2 ), то при освещении двумя прожекторами цвет экрана будет обозначаться как (r 1 + r 2 , g 1 + g 2 , b 1 +b 2 ).

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

В телевизорах и мониторах применяются три электронных пушки (светодиода, светофильтра) для красного, зелёного и синего каналов.

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

История

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

Определение

Цветовая модель RGB была изначально разработана для описания цвета на цветном мониторе, но поскольку мониторы разных моделей и производителей различаются, были предложены несколько альтернативных цветовых моделей, соответствующих "усредненному" монитору. К таким относятся, например, sRGB и Adobe RGB .

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

Представление базисных цветов RGB согласно рекомендациям ITU , в пространстве XYZ : Температура белого цвета: 6500 кельвинов (дневной свет):

Красный: x = 0,64 y = 0,33
Зелёный: x = 0,29 y = 0,60
Синий: x = 0,15 y = 0,06

Матрицы для перевода цветов между системами RGB и XYZ (величину Y часто ставят в соответствие яркости при преобразовании изображения в чёрно-белое):

X = 0,431 * R + 0,342 * G + 0,178 * B
Y = 0,222 * R + 0,707 * G + 0,071 * B
Z = 0,020 * R + 0,130 * G + 0,939 * B

R = 3,063 * X - 1,393 * Y - 0,476 * Z
G = -0,969 * X + 1,876 * Y + 0,042 * Z
B = 0,068 * X - 0,229 * Y + 1,069 * Z

Числовое представление

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

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

В HTML используется #RrGgBb-запись , называемая также шестнадцатеричной : каждая координата записывается в виде двух шестнадцатеричных цифр, без пробелов (см. цвета HTML) . Например, #RrGgBb-запись белого цвета - #FFFFFF .

COLORREF

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

0x00bbggrr

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

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

COLORREF C = (r, g, b) ;

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

Поскольку в модели используется три независимых значения, ее можно представить в виде трехмерной системы координат .

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

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

Объем такого куба (количество цифровых цветов) легко рассчитать: поскольку на каждой оси можно отложить 256 значений, то 256 в кубе (или 2 в двадцать четвертой степени) дает число 16 777 216 .

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

Важно отметить особенные точки и линии данной модели:

Начало координат: в этой точке все составляющие равны нулю , излучение отсутствует, что равносильно темноте, т. е. это точка черного цвета.

Точка, ближайшая к зрителю: в этой точке все составляющие имеют максимальное значение , что обеспечивает белый цвет.

На линии, соединяющей эти точки (по диагонали) , располагаются серые оттенки : от черного до белого. Это происходит потому, что значения всех трех составляющих одинаковы и располагаются в диапазоне от нуля до максимального значения. Такой диапазон иначе называют серой шкалой (grayscale) . В компьютерных технологиях сейчас чаще всего используются 256 градаций (оттенков) серого. Хотя некоторые сканеры имеют возможность кодировать и 1024 оттенка серого .

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

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

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

Видео на рутубе, мастер-класс "Практическое использование цветовых моделей RGB и CMYK в графическом дизайне". Автор нам уже известен (давала ссылки на его видео в теме о контрастах) - Боб Поташник. В первых 10 минутах видео идёт обзор всего того, о чём уже упоминалось в лекциях о цветовых системах, вторые 12 минут - основы работы с цветом в графических редакторах. Доходчиво и понятным языком для начинающих.

Продолжительность видео 22 минуты.

Коды цветов будут даны в цикле лекций о цветовых стандартах и каталогах, там выложу списки цветов с кодами. Здесь рассматриваем принципы работы систем.

Некоторые специальные термины

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

Начнем рассмотрение этих понятий с принципа образования плоскости единич-ных цветов . Плоскость единичных цветов (Q ) (рис. 3.5) проходит через отложен-ные на осях координат яркости единичные значения выбранных основных цветов.

Единичным цветом в колориметрии называют цвет, сумма координат которого (или, по-другому, модуль цвета т) равна 1.

Поэтому можно считать, что плоскость Q , пересекающая оси координат в точках B r (R=1,G=0,В=0), B g (R=0,G=1,В=0) и B b (R=0,G=0,В=1) , является единичным местом точек в пространстве RGB (рис. 3.5) .

Рис. 3,5. Плоскость единичных цветов и образование треугольника цветности

Каждой точке плоскости единичных цветов (Q) соответствует след цветового век-тора , пронизывающего плоскость в соответствующей точке на расстоянии от цен-тра координат :

m = (R 2 +G 2 +B 2) 0.5 = 1.

Следовательно, цветность любого излучения может быть представлена на плоско-сти единственной точкой . Можно себе представить и точку, соответствующую бе-лому цвету (Б) . Она образуется путем пересечения ахроматической оси с плоско-стью Q (рис. 3.5).

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

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

Итак, мы выяснили, что цвет графически можно выразить в виде вектора в про-странстве или в виде точки, лежащей внутри треугольника цветности.

Почему RGB-модель нравится компьютеру?

В графических пакетах цветовая модель RGB используется для создания цветов изоб-ражения на экране монитора, основными элементами которого являются три элект-ронных прожектора и экран с нанесенными на него тремя разными люминофорами (рис. 3.6,1) . Точно так же, как и зрительные пигменты трех типов колбочек, эти люми-нофоры имеют разные спектральные характеристики. Но в отличие от глаза они не поглощают, а излучают свет . Один люминофор под действием попадающего на него электронного луча излучает красный цвет, другой - зеленый и третий - синий.

Мельчайший элемент изображения, воспроизводимый компьютером, называется пикселом (pixel от pixture element) . При работе с низким разрешением отдельные пикселы не видны. Однако если вы будете рассматривать белый экран включенно-го монитора через лупу, то увидите, что он состоит из множества отдельных точек красного, зеленого и синего цветов (рис. 3.6, 2) , объединенных в RGB -элементы в виде триад основных точек . Цвет каждого из воспроизводимых кинескопом пик-селов (RGB-элементов изображения) получается в результате смешивания крас-ного, синего и зеленого цветов входящих в него трех люминофорных точек. При просмотре изображения на экране с некоторого расстояния эти цветовые состав-ляющие RGB -элементов сливаются, создавая иллюзию результирующего цвета.

Рис. 3.6. В основе работы монитора лежит возбуждение с помощью электронного пучка трех типов фосфоров (1); экран монитора состоит из множества триад маленьких точек красного, зеленого и синего цвета, называемых пикселами (2).

Картинка схема пиксела с сайта

Ещё пиксел:

Для назначения цвета и яркости точек, формирующих изображение монитора, нужно задать значения интенсивностей для каждой из составляющих RGB -элемента (пиксела) . В этом процессе значения интенсивностей используются для уп-равления мощностью трех электронных прожекторов , возбуждающих свечение соответствующего типа люминофора. В то же время число градаций интенсивно-сти определяет цветовое разрешение , или, иначе, глубину цвета, которые характе-ризуют максимальное количество воспроизводимых цветов. На рис. 3.7 приведе-на схема формирования 24-битового цвета , обеспечивающая возможность воспроизведения 256х256х256=16,7 млн цветов.

Последние версии профессиональных графических редакторов (таких, как, напри-мер, CorelDRAW 9, Corel Photo-Paint 9, Photoshop 5.5) наряду со стандартной 8-битовой глубиной цвета поддерживают 16-битовую глубину цвета , которая по-зволяет воспроизводить 65 536 оттенков серого .

Рис. 3.7. Каждый из трех цветовых компонентов RGB-триады может принимать одно из 256 дискретных значений - от максимальной интенсивности (255) до нулевой интенсивности, соответствующей черному цвету.

Картинка получше на эту же тему:

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

Рис. 3.8. Иллюстрация формирования 6 из 16,7 млн возможных цветов путем вариации интенсивностей каждой из трех компонентов R, G и В цветовой модели RGB.

Другие картинки поярче на эту же тему:

Ограничения RGB-модели

Несмотря на то что цветовая модель RGB достаточно проста и наглядна, при ее практическом применении возникают две серьезные проблемы:

1) аппаратная зависимость;

2) ограничение цветового охвата.

Первая проблема связана с тем, что цвет, возникающий в результате смешения цвето-вых составляющих RGB элемента, зависит от типа люминофора . А поскольку в техно-логии производства современных кинескопов находят применение разные типы лю-минофоров, то установка одних и тех же интенсивностей электронных лучей в случае различных люминофоров приведет к синтезу разного цвета. Например, если на электронный блок монитора подать определенную тройку RGB -значений, скажем R=98, G=127 и В=201 , то нельзя однозначно сказать, каков будет результат смешивания. Эти значения всего лишь задают интенсивности возбуждения трех люминофоров од-ного элемента изображения. Какой получится при этом цвет, зависит от спектрально-го состава излучаемого люминофором света. Поэтому в случае аддитивного синтеза для однозначного определения цвета наряду с установкой триады значений интен-сивностей необходимо знать спектральную характеристику люминофора.

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

Цветовой охват (color gamut) - это диапазон цветов, который может различать человек или воспроизводить устройство независимо от механизма получения цве-та (излучения или отражения) .

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