Способы кодирования цвета при записи и воспроизведении изображений
Способы представления цвета имеют свою теоретическую и практическую историю. Согласно современным понятиям свет является электромагнитным излучением, причем человеческий глаз воспринимаем лучи с длиной волны приблизительно от 40010-6 мм (фиолетовый) до 70010-6 мм (красный). Данная шкала является непрерывной, а понятие цвета относится всего лишь к определенной части этой шкалы (от синего к красному согласно повышению длины волны).
Человеческий глаз различает сотни цветовых оттенков (известное зрение художника, якобы могущее воспринимать многие тысячи цветов, скорее всего является следствием чрезмерной эмоциональности в суждениях). Открытый И.Ньютоном способ разложения цвета на 7 составляющих оказался чрезмерно сложным для практической реализации. Согласно трехкомпонентной теории цветового зрения (не единственной из существующих) цвет представляется в виде суперпозиции трех основных цветов - красного (R), зеленого (G) и синего (B). В 1931г. решением Международной Комиссии по Освещению (CIE,Commision International de l'Eclairage) были стандартизированы монохроматические цвета цветового излучения с длинами волн соответственно : красный цвет - 70010-6, синий - 546,110-6 и красный - 435,810-6 мм.
На рис.1 схематично показана схема современной модели цвета - RGB
Рис.1 Модель RGB
Модель RGB (Red, Green, Blue) является, пожалуй, наиболее простой и естественной из существующих. Здесь цвет представляется суммой интенсивностей трех составляющих цвета, при этом смешение трех цветов в одинаковой пропорции дает белый (при максимальной интенсивности составляющих) или серый (при меньшей, но равной, интенсивности составляющих; при нулевой интенсивности составляющих имеем черный цвет). Эта модель именуется аддитивной(основанной на сложении трех составляющих цвета) и напрямую реализуется в современных сканерах и электроннолучевых трубках мониторов. В Windows модель RGB поддерживается широко - известны системные функции получения полного цвета по его составляющим RGB(Red,Green,Blue) и выделения интенсивности N-ной компоненты (N[R,G,B]) цвета GetNValue(RGB_Value); при этом интенсивность каждого из цветов Red, Green, Blue кодируется целым числом от 0 до 255.
Модель RGB имеет и недостатки - цвета на экране монитора могут отличаться от полученных цветоделением, существует взаимозависимость цветовых каналов (при увеличении яркости одного канала в других каналах яркость уменьшается). Развитием RGB-модели является RGBA (Red, Green, Blue, Alpha), позволяющая учитывать прозрачность элементов изображения (канал Alpha).
Модель RGB совершенно неприменима при цветной печати, когда цвета фактически не суммируются, а вычитаются из белого цвета бумаги (при печати суммирование трех красок равной интенсивности дает не белый, а наоборот - близкий к черному - цвет).
В модели CMYK используются дополнительные к RGB цвета - голубой (Cyan), пурпурный (Magenta) и желтый (Yellow), модель получила название субтрактивной. Для получения серых оттенков приходится давать избыток голубой составляющей, интенсивность Cyan на 1020% больше, чем пурпурной и желтой. В реальных цветных принтерах используется дополнительная емкость с черной краской, так как смешение CMY при их полной интенсивности все же не позволяет получить истинно черный цвет (отсюда символ K, см. рис.2).
Недостатки цветовой модели CMYK - узкий цветовой диапазон, неточное отображение цветов CMYK на мониторе и больший (по сравнению с RGB) расход памяти при реализации.
Рис.2 Сравнение моделей RGB и CMYK
Самым широким охватом обладает и наиболее точно описывает параметры цвета модель Lab(рис.3). Ее достоинством является полное разделение информации о цвете и яркости, модель часто используется в качестве внутренней во многих программных продуктах для пересчета при переводе цветов из одной модели в другую. Современные пакеты работы с изображениями обязательно позволяет учитывать качество реальных устройств воспроизведения и корректировать цветопередачу (при этом используется понятие цветовой температуры - величины, тесно связанной с амплитудно-частотной характеристикой данного устройства в диапазоне видимого цвета).
Рис.3 Модель Lab
HSB - модель, которая в принципе является аналогом RGB, она основана на её цветах, но отличается системой координат.
Любой цвет в этой модели характеризуется тоном (Hue), насыщенностью (Saturation) и яркостью (Brightness). Тон - это собственно цвет. Насыщенность - процент добавленной к цвету белой краски. Яркость - процент добавленной чёрной краски. Итак, HSB - трёхканальная цветовая модель. Любой цвет в HSB получается добавлением к основному спектру чёрной или белой, т.е. фактически серой краски. Модель HSB не является строгой математической моделью. Описание цветов в ней не соответствует цветам, воспринимаемых глазом. Дело в том, что глаз воспринимает цвета, как имеющие различную яркость. Например, спектральный зелёный имеет большую яркость, чем спектральный синий. В HSB все цвета основного спектра (канала тона) считаются обладающими 100%-й яркостью. На самом деле это не соответствует действительности.
Хотя модель HSB декларирована как аппаратно-независимая, на самом деле в её основе лежит RGB. В любом случае HSB конвертируется в RGB для отображения на мониторе и в CMYK для печати,а любая конвертация не обходится без потерь.
В некоторых случаях профессионалы предпочитают работать с системой HSV, название которой является аббревиатурой терминов оттенок(Hue) -насыщенность(Saturation) - яркость(Value).
Множественность моделей говорит о сложности попыток представления цвета; несмотря на явные достижения и практическое использование работа в этом направлении продолжается в связи с постоянным повышением требований к качеству воспроизведения изображений при экранной демонстрации и получении печатной продукции.