Знакомьтесь: цвет

Знакомьтесь: цвет

Окончание, начало в №13

Колориметрия - научный подход к цвету

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

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

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

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

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

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

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

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

Локус цветов

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

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

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

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

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

Площадь локуса разделена на участки разного цвета, границы между которыми, как и между цветами на спектральной линии, выражены нечетко. Чем ближе к середине локуса, тем бледнее цвета (меньше их насыщенность). Любой цвет с помощью диаграммы определяется двумя координатами - x и y. В точке с координатами x = 0.33 и y = 0.33 расположен белый цвет. Это и есть минимум насыщенности любого цвета.

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

Кроме того, диаграмма цветности позволяет оценить возможности той или иной цветовой модели, используемой в компьютерной графике. На рис. 2 точки внутри локуса, соответствующие красному (R), зеленому (G) и синему (B) цветам, соединены в треугольник. Он ограничивает цветовое пространство (еще говорят "цветовой охват") модели RGB, используемой при сканировании цветных изображений и выводе их на экран. Соединив точки голубого (C), пурпурного (M) и желтого (Y) цветов, получаем цветовое пространство для модели CMYK, применяемой на устройствах цветной печати и в полиграфии. На диаграмме видно, что эти модели не совпадают по возможностям и ни одна из них не охватывает все воспринимаемые глазом цвета.

Модель HSB

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

С одной из цветовых моделей мы уже познакомились, обсуждая колориметрию. Эта модель применяется и в компьютерной графике, где она получила название HSB - сокращенно от Hue (цветовой тон), Saturation (насыщенность) и Brightness (яркость). Существует разновидность этой модели, обозначаемая HSL - вместо Brightness используется термин Lightness (светлость). Разницы практически никакой нет, просто, как я уже говорил, иногда яркость трактуют как степень присутствия в производном цвете черного цвета.

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

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

Итак, по кругу, если идти против часовой стрелки, расположены следующие цвета: красный (Red) - 0°, желтый (Yellow) - 60°, зеленый (Green) - 120°, голубой (Cyan) - 180°, синий (Вlue) - 240° и пурпурный (Magenta) - 300°. Как и в реальной жизни, между соседними цветами нет четких границ, и они плавно переходят друг в друга, образуя по 60 дополнительных тонов. Если бы в программах можно было задавать дробные градусы, тонов было бы значительно больше, а так цветовая модель HSB позволяет определить 360 разных тонов.

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

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

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

Однако, несмотря на очевидные недостатки, модель HSB наиболее близка традиционному пониманию работы с цветом. Художник сначала выбирает тон, затем добавляет в краску белого и черного, чтобы получить нужный оттенок. Так и в графических программах. Например, в CorelDRAW 8 (см. рис. 3) тон задается углом поворота радиуса, насыщенность определяется его длиной, а яркость выбирается по отдельной шкале.

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

Модель RGB

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

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

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

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

Кроме того, эта модель экономно расходует память компьютера. Для задания каждой из трех компонент обычно используется один байт, то есть возможны значения от 0 до 255. При перемножении мы получаем 16.7 миллиона оттенков - 24-битовый цвет. Гораздо реже количество основных цветов в результирующем определяется в процентах, так как использование дробных процентов при 8-битовой глубине цветового канала невозможно, а загрубление выбора цвета - невыгодно.

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

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

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

Наконец, диапазон изменения каждого из основных цветов ограничен 256 градациями, хотя многие сканеры считывают по 1,024 градации на канал.

Модель CMYK

Аддитивные цвета, то есть такие, в результате сложения которых образуется белый цвет, не всегда пригодны для получения цветных изображений. Во многих случаях наш глаз воспринимает цвет по отраженным лучам, как, например, при чтении напечатанного на бумаге. Белая бумага отражает почти все лучи, а краска поглощает часть их.

Цветное изображение на бумаге формируется тоже с помощью трех цветов, но для этого их следует вычитать из белого. Такие цвета называются субстрактивными. После вычитания трех основных цветов остаются уже известные нам дополнительные цвета - голубой (Cyan), пурпурный (Magenta) и желтый (Yellow). Нетрудно догадаться, что они и легли в основу цветовой модели, используемой для цветной печати и в полиграфии. Аббревиатура CMYK не оставляет в этом сомнений. Четвертый цвет - черный (blacK) - введен в нее для компенсации недостаточного качества типографских красок.

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

В графических программах, таких как CorelDRAW 8, модель CMYK представляется по аналогии с RGB - в виде трехмерной прямоугольной системы координат, или куба (см. рис. 5). Нулевой насыщенности исходных красок в модели CMYK соответствует белый цвет, поэтому он и помещен в начало координат. В остальном все похоже на модель RGB. Дополнительная шкала управляет подачей черной краски, что очень смахивает на регулятор яркости.

Правда, сразу же бросается в глаза и отличие. Количество красок в модели CMYK задается в процентах, а не в градациях, как в RGB. Причем проценты странные. Например, 30% голубой краски не говорит о том, что в цветовой смеси голубой займет треть. Процент отсчитывается от максимальной насыщенности, а не от общего состава. Таким образом, каждая компонента измеряется 100 градациями.

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

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

Модель L*a*b

То, что для разных по принципу работы устройств применяются разные цветовые модели, сильно отличающиеся друг от друга и несовместимые по цветовому охвату, вызывает массу проблем при профессиональной работе с цветом. Проблемы эти возникли намного раньше, чем появились первые компьютеры. Еще в 1931 году Международная комиссия по освещению (Commission Internationale d'Eclairage, CIE) предложила модель L*a*b, которая в 1976 году была пересмотрена и утверждена в качестве стандарта.

Модель L*a*b, по задумке создателей, должна устранить проблемы аппаратной несовместимости цветных устройств. Она по определению является аппаратно-независимой и состоит из трех компонент, или каналов. Первый - светлость (Lightness) - является черно-белым яркостным каналом. Каналы а и b хроматические, вся информация о цвете сосредоточена в них. Канал a содержит цвет в диапазоне от красного до зеленого, а b - от синего до желтого.

Мне пока не удалось найти хорошего подробного описания модели L*a*b, но она очень похожа на способ передачи цвета, применяемый в телевидении, хотя и существенно отличается от него. В основе этой модели лежит формула, связывающая черно-белый яркостный канал с тремя основными цветовыми каналами. Известно, что сумма трех основных цветов - красного, зеленого и синего - при определенной интенсивности каждого из них обеспечивает оттенок серого. В цветном телевидении используется уравнение:

EL = 0.30 ER + 0.59 EG + 0.11 EB,

где EL - черно-белая яркостная составляющая, ER, EG и EB - цветовые красная, зеленая и синяя компоненты соответственно.

При такой взаимосвязи очевидно, что для передачи цвета не обязательно использовать три цветных канала. Можно взять яркостный канал и два цветовых, третий тогда рассчитать несложно. Даже если использовать не сами значения красного и синего цветов, вычисляя зеленый, а цветоразностные значения, то есть ER - EL и EB - EL. На этом принципе и основана модель L*a*b (см. рис. 6).

Сложно судить, насколько удалось достичь поставленной цели - обеспечить аппаратную независимость. Цветные устройства печати по-прежнему "понимают" только цвета CMYK, а мониторы и сканеры - RGB. Однако модель L*a*b служит промежуточной между ними. В частности, графический редактор Adobe Photoshop при преобразовании изображения из одной цветовой модели в другую всегда использует в качестве промежуточной остановки L*a*b. Впрочем, большинство пользователей об этом и не догадываются.

С точки зрения компьютерного художника, модель L*a*b самая неудобная и непонятная. Ее цветоразностные каналы абсолютно не постижимы умом - на них сплошная абракадабра, какие-то непонятные разводы. Для корректировки цветопередачи эту модель также использовать невозможно по тем же причинам.

Применение модели L*a*b, кроме скрытого от глаз автоматического использования программами, обычно ограничивается случаями, когда надо получить черно-белое изображение, при работе с фотографиями в формате PhotoCD и иногда при печати на принтерах с PostScript Level 2, так как этот язык способен интерпретировать модель L*a*b. В то же время L*a*b, очевидно, обладает самым широким цветовым охватом, иначе ее не использовали бы в качестве промежуточной.

Есть и еще одна возможность использования L*a*b. Цифровые фотографии часто не блещут резкостью. Можно попробовать поднять ее, используя все три канала модели RGB, но в самых тяжелых случаях этого маловато. Если же перевести изображение в L*a*b, то можно поработать над ее яркостным каналом, как над обычной черно-белой фотографией, что, конечно же, проще. Цветовая информация останется без изменений и искажений, которые часто возникают при слишком усердном применении фильтров к цветному изображению.



Рис. 2.



Рис. 3.



Рис. 4.



Рис. 5.



Рис. 6.

Роман Соболенко
roman-sobolenko@usa.net


- титульная страница


Компьютерная газета. Статья была опубликована в номере 14 за 1998 год в рубрике soft :: графика

©1997-2024 Компьютерная газета