Фотомишка >> Заметки на полях >> Теория цвета для чайников
Главная
Галерея
Заметки
Контакты
Ссылки

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

           Фотожурналы в последнее время пестрят заметками об управлении цветом, и редкий фотограф сегодня обходится без цветокоррекции в Photoshop. Нужно ли говорить, что эффективная работа с цветом требует его понимания, а не просто заучивания рецептов? Между тем, понимание природы цвета у большинства осталось на уровне школьной мантры «цвет – это длина волны» и намертво впечатанного в память цветового круга. Попробуем восполнить этот пробел: изгнать несколько живучих заблуждений и разобраться во взаимосвязи разных представлений цвета.
 
Трудности перевода
           Большая часть современной литературы о фотографии и дизайне переводная, а у переводчиков извечная тяга к переводу даже тех слов, аналогов которым в русском языке нет. В результате, magenta традиционно переводится словом «пурпурный», что верно лишь как обобщение, а cyan – «голубой», хотя русском языке голубым называется цвет гораздо более близкий к синему. В типографском деле давно используются термины «маджента» и «циан» - корректнее будет, во избежание разночтений, использовать их всегда.
 
           Чаще всего в вопросах цвета запутывает двойственность подходов к его описанию. С одной стороны, изобразительное искусство много столетий уже занимается смешением красок, выделением основных и дополнительных цветов, организацией их в некоторые умозрительные структуры. С другой стороны, физика говорит что-то про спектры, а физиология добавляет еще и про колбочки с палочками. И совершенно непонятно, как эти спектры и колбочки увязать с цветовым кругом художника.
           Увязать действительно непросто, но вполне возможно, если «зреть в корень», как завещал Козьма. В корне же мы увидим, что под словом «цвет» понимаются обычно два разных, хотя и связанных, понятия. Первое – это спектральная характеристика светового потока в видимом диапазоне, а также свойство предметов окружающего мира менять эту характеристику при пропускании или отражении света. Второе – ощущение, возникающее при попадании света на сетчатку глаза.
 
Взгляд свысока
           В самых общих словах схема зрения такова. Некоторый источник испускает свет, который проходит через среду, отражается от какого-нибудь объекта и попадает в глаз. Чувствительные клетки в сетчатке глаза реагируют на свет, формируют сигналы и отправляют их в затылочные доли мозга, где формируются окончательные цветовые ощущения.
           Что именно происходит на разных этапах этого процесса? Излучаемый источником свет может иметь составляющие каких угодно длин волн в каких угодно соотношениях. Часть излученного спектра поглощается средой. Пропущенный средой свет частично поглощается объектом, а частично отражается им. Та часть, что была отражена, попадает на сетчатку глаза, состоящую из нескольких типов клеток, по-разному реагирующих на разные длины волн. Чувствительныеклетки отсылают мозгу данные о том, какова интенсивность света в их диапазоне. Наконец, затылочные доли преобразуют эти спектральные данные в более привычные нам цветовые понятия тонов и яркостей.
           Таким образом, для «зеленого цвета» травы одинаково важны не только ее собственные свойства, но и солнце, под которым она растет, и атмосфера, в которой она находится, и зритель, который ее созерцает. Бессмысленно спрашивать, каков «на самом деле» цвет розы, ибо роза, отделенная от солнца, воздуха и наблюдателя, не имеет цвета как такового. С другой стороны, когда подобный вопрос задается, все мы, конечно же, понимаем, что имеется в виду: середина среднего солнечного дня на планете Земля, средний человеческий глаз и усредненный по плотности сравнительно чистый воздух. Кроме того, абстрагировавшись от среды, можно говорить о спектральном альбедо, что будет вполне корректно, но не вполне «цветом».
 
Спектр
           Любой источник света испускает волны различной длины, и очень редко диапазон излучения источника укладывается в диапазон восприятия человека. Сравнительно монохромными источниками могут считаться лишь лазеры, но в качестве осветителей они встречаются крайне редко.
           Человек воспринимает свет с длиной волны примерно от 330 до 780 нм. На краях этого диапазона чувствительность крайне низка, и в контексте различимых цветов вполне можно говорить о диапазоне 380-700 нм.
 

 
           Разделение на диапазоны цветов, обозначаемых специальными словами достаточно условно. С детства все помнят фразу «Каждый Охотник Желает Знать, Где Сидит Фазан», соответствующую последовательности воспринимаемых цветов в порядке возрастания частоты излучения (или убывания длины волны) «Красный, Оранжевый, Желтый, Зеленый, Голубой, Синий, Фиолетовый». Те цвета, что мы называем оранжевым, голубым и фиолетовым выражены в спектре не столь явно, как остальные. Хорошо знакомые вам цвета RGB и CMY в порядке возрастания длины волны располагаются как BCGYR. Вы спросите, куда же делся цвет M (маджента)? Маджента никуда не девалась, а оставалась там, где и положено всем пурпурным цветам, неспектральным. О пурпурных мы поговорим позже, а пока о них забудем, ибо в спектре таких цветов просто нет.
           Важно помнить, что когда заходит речь о цвете излучения той или иной длины волны, подразумеваются чистые цвета и достаточно идеализированные условия наблюдения: темная комната, отдохнувший глаз среднего наблюдателя и единственный источник света сравнительно узкого диапазона. Более того, под словом «цвет» здесь понимается цветовой тон, представляющий собой лишь одну из характеристик цвета.
           В неидеальном случае цвет излучения определяется его интенсивностью (спектральной плотностью интенсивности) на всех длинах волн видимого диапазона. Упрощенно спектральную характеристику часто заменяют интуитивными понятиями цветового тона, насыщенности и яркости. Цветовой тон определяется длиной волны, которой соответствует наибольшее значение интенсивности излучения, а насыщенность – отличием этого значения от среднего по всему диапазону. Яркость соответствует общей интенсивности излучения.
 
Источник света
           Любой источник света характеризуется зависимостью спектральной плотности энергии его излучения от длины волны. В контексте изучения цветов можно рассматривать нормированные источники и сравнивать их относительные спектральные плотности. Основными источниками света в природе являются нагретые тела. Излучение известного нам со школьной скамьи абсолютно черного тела (АЧТ), не отражающего свет, зависит только от его температуры, и в видимом диапазоне выглядит следующим образом:
 

 
           Свет холодных источников имеет красноватый оттенок, который с увеличением температуры становится оранжевым, желтым, белым и далее - голубым. Здесь нужно еще раз отметить относительность вербального описания цветов. Человеческий глаз способен адаптироваться к изменениям окружающей среды, и свет даже достаточно «холодного» источника может со временем восприниматься как белый. Однако, живем мы на вполне определенной планете и под естественным освещением понимаем свет вполне определенной звезды. По этой причине, «белым» мы считаем свет, хотя бы приблизительно похожий на солнечный.
           Излучение звезд с достаточно хорошей точностью соответствует модели АЧТ, и свет нашего Солнца примерно эквивалентен свету тела с температурой 5780 K. Но таким его видят лишь космонавты, которым не мешает атмосфера. Для нас же, обитателей поверхности, солнечный свет меняется в зависимости от погоды.
           Способность глаза к адаптации и попытки отделить свойства освещения от свойств освещаемой сцены привели к понятию цветовой температуры. Под цветовой температурой при освещении сцены некоторым источником света, понимается температура АЧТ, наилучшим образом приближающего излучение этого источника.
           Если отраженный листом бумаги свет преимущественно зеленый, мы не можем с уверенностью сказать, обусловлено ли это зеленым освещением белой бумаги или белым освещением бумаги, отражающей лишь зеленый свет. Однако если мы узнаем, каков спектр источника света, то сможем не только определить спектральное альбедо бумаги, но прикинуть, как выглядел бы этот же лист при другом освещении. Верно и обратное: если известно спектральное альбедо бумаги, не составит труда описать источник и определить, как под ним будут выглядеть другие объекты.
           На этом принципе основаны все механизмы цветовой адаптации, хотя, при вычислениях используют обычно упрощенную модель, ограничиваясь лишь подстройкой «точки белого», о которой мы поговорим позже, введя цветовые пространства.
 
Модели источников света
           С важностью описания источников света мы разобрались, но как же производится само описание? Красиво задаваемое законом Планка излучение АЧТ, к сожалению, не описывает реальных источников света, хотя, и неплохо приближает многие из них. Чтобы не возиться каждый раз с описанием всего спектра, используется ряд стандартных источников света, достаточно хорошо описывающих различные типы реального освещения. CIE (Commission internationale de l’eclairage, или МКО – Международная комиссия по освещению) определяет 4 основных типа источников света: A, D, E и F. Источник тапа A моделирует 100-ваттную лампу накаливания (примерно 2856 K), D – дневной свет, E – абстрактный источник света с постоянной плотностью излучения по всему спектру, а F – флуоресцентные лампы. Раньше использовались еще моделирующие дневной свет источники B и C, но на данный момент во всех вычислениях они вытеснены типом D.
           Основной интерес для нас приставляют источники типа D - именно они используются в большинстве вычислений, связанных с цветовой адаптацией фотоизображений. Излучение источника типа D, в зависимости от температуры, выглядит так:
 

 
           Точка пересечения всех графиков – лишь условность. Все они нормированы так, чтобы иметь значение 100 при длине волны, приблизительно соответствующей максимальной дневной чувствительности человеческого глаза.
           Часто встречающиеся названия стандартных осветителей D50, D55 и D65 обозначают не что иное, как источники типа D с температурами приблизительно 5000 K, 5500 K и 6500 K соответственно. Формально они немного отличаются от этих округленных значений. D65, к примеру, определяется как источник с температурой 6504 K. Он представляет собой приближение среднего полуденного освещения в Европе и в соответствии со стандартом CIE, считается основным, если не оговорено иное.
 
Глаз
           Если опустить несущественные для восприятия цвета оптические детали, глаз подобен цифровому фотоаппарату с очень неравномерным распределением пикселей по площади кадра. «Пикселями» на сетчатке глаза служат светочувствительные клетки двух разновидностей: палочки и колбочки. Причем, палочки действуют в основном при слабом освещении и предоставляют информацию лишь о яркости, а колбочки, эффективно действующие только при достаточно ярком свете, позволяют глазу различать цвета. Колбочки трех типов, называемые обычно S-, M-, и L-колбочками, воспринимают свет соответственно в коротко-, средне-, и длинноволновой областях спектра. Часто их называют также синими, зелеными и красными колбочками, что не совсем корректно, но зато, наглядно.
           Примерно следующим образом распределяется чувствительность клеток сетчатки:
 

 
           Заметим, что это нормализованная чувствительность. В абсолютных значениях чувствительность палочек примерно вдвое превосходит максимальную чувствительность колбочек, а сами колбочки активно подстраиваются под освещение и почти никогда не обладают одинаковыми максимумами чувствительности.
           Сетчатка глаза содержит примерно 100 млн. палочек и 5 млн. колбочек. В центре сетчатки, в области так называемого «желтого пятна» больше концентрация красных и зеленых колбочек, на периферии – палочек и синих колбочек. В центре желтого пятна - «ямке» - палочек и синих колбочек нет вообще. Как следствие, мелкие красные и зеленые детали различить нам не составляет труда, а синие, если смотреть прямо на них, мало отличаются от черных.
           Основная информация о деталях изображения и о цветах доставляется нам колбочками, расположенными в желтом пятне и ямке. Периферийное зрение имеет достаточно невысокое разрешение и не позволяет толком различать цвета. В то же время, увеличение концентрации палочек делает периферийное зрение более действенным в темноте. Ночью, зачастую, проще рассмотреть темный объект, отведя взгляд чуть в сторону.
           Также различием палочек и колбочек определяется ночной сдвиг пика чувствительности, называемый эффектом Пуркинье. При ярком свете глаз наиболее чувствителен к длинам волн около 554 нм, но в темноте, когда зрение практически полностью определяется палочками, пик чувствительности сдвигается к 511 нм. Таким образом, ночью все кошки действительно становятся серыми, и если вы умудритесь найти кошек синего и красного цветов, то синяя, посерев, станет гораздо светлее красной.
 
Подбор цветов и трехцветность
           До сих пор мы говорили о цвете как о спектральной характеристике света, т.е. о его физическом смысле. Рассмотрим теперь более житейское понимание цвета. Зеленый цвет дает зеленая лампочка, красный – красная. Если на белый лист бумаги посветить обеими лампочками – он станет желтым. Что это означает? Означает это, что одни цвета можно получить смешением других. Очевидный, казалось бы, вывод становится совсем неочевидным при распространении его на все возможные цвета.
           Один из основных опытов, служащих изучению цвета – подбор цветовых пар. Представьте нейтральный экран в темной комнате: левая его половина освещается лампой некоторого заданного цвета (тестовый цвет), а правая – одновременно несколькими лампами разных цветов, называемых основными. Теперь будем изменять яркость отдельных ламп основных цветов, пытаясь сделать их общий цвет неотличимым от тестового. Закончив подбор, запишем тестовый цвет как сумму основных с соответствующими яркостям ламп весовыми коэффициентами. Эксперимент показывает, что подобрать цвета таким образом возможно практически во всех случаях, но основных цветов может понадобиться очень и очень много.
           Второй важный момент, который выясняется в таких экспериментах: сложение цветов происходит линейно. При использовании n основных цветов, любой тестовый цвет мы можем представить как вектор в n-мерном пространстве их яркостей и при необходимости комбинирования нескольких «левых» цветов, для которых подобраны координаты, рассматривать их смешение как сложение соответствующих векторов со всеми вытекающими из этого правилами.
           Заметьте: цвет мы подбираем исключительно по ощущениям, не пользуясь никакими измерительными приборами кроме собственных глаз. Более того: воспользуйся мы такими приборами – выяснили бы, скорее всего, что спектральные характеристики излучения одинаковых для глаза половинок экрана здорово отличаются.
           Существенным дополнением к эксперименту подбора будет введение возможности разностного сопоставления цветов. Разрешим перенаправлять часть ламп с правой части экрана на левую, а коэффициенты их яркостей в этом случае будем считать отрицательными. При таком допущении оказывается, что большинству наблюдателей достаточно лишь трех линейно-независимых основных цветов для подбора коэффициентов к любому тестовому цвету.
           Этот факт легко объясним, если вспомнить о физическом смысле цвета и том, как он воспринимается. Цвет как спектральная характеристика представляет собой вектор в бесконечномерном пространстве, каждой координате которого соответствует идеальный монохромный источник света. Воспринимая излучение, наш мозг оперирует величинами возбуждения трех рецепторов. Таким образом, процесс восприятия глазом цветов представляет собой проецирование бесконечномерного вектора на трехмерное пространство.
           Теперь понятно, почему подобранные «на глаз» цвета могли сильно различаться по спектральным характеристикам. Понятно также, что, оперируя векторами в трехмерном пространстве воспринимаемых цветов (его часто называют цветовым пространством LMS по названиям типов колбочек), мы можем без зазрения совести выбирать любые другие тройки базисных векторов, которые нам покажутся удобными.
 
           Интересным будет лишний раз отметить зависимость трехцветности от числа цветовых рецепторов. У большинства животных за восприятие цвета отвечает лишь два типа колбочек, в то время, как многие тропические птицы наделены четырьмя. Ни собака, ни райская птица не будут воспринимать изображение, созданное для человека так же, как человек. Если когда-нибудь к вам заявится инопланетянин с десятью колбочками в глазах, не пытайтесь сделать ему фотографию на память – гость может быть обижен тем, как исказили вы его вид.
 
Цветовые пространства
           Для чего мы вообще возимся с цветами? Цвета нам нужно воспроизводить – на бумаге, мониторе или где-нибудь еще, цвета нужно сравнивать и корректировать. Для всего этого цвета нужно уметь строго описывать, т.е. задавать и определять координаты того или иного цвета в некотором пространстве признаков.
           Способов задавать координаты цветов придумано в избытке – попробуем разобраться, что из чего вытекает. Очевидным решением было бы использование в качестве координат коэффициентов основных цветов в эксперименте подбора цвета. Если для каждой длины волны λ подобрать коэффициенты основных цветов A, B и C, мы получим некоторые зависимости a(λ), b(λ), c(λ), которые называются функциями подбора цвета. Любой чистый (монохромный) цвет теперь можно будет найти как Цвет(λ) = a(λ) + b(λ) + c(λ).
           Если в качестве основных цветов выбрать красный, зеленый и синий с длинами волн 645.16 нм, 526.32 нм и 444.44 нм соответственно, функции подбора цвета для среднего наблюдателя вида homo sapiens примут следующий вид:
 

 
           Отрицательные значения функций указывают на необходимость разностного сопоставления цветов. Для описания независимого цвета это не слишком удобно. Еще хуже, что избавиться от отрицательных значений нам не удастся ни при какой реальной тройке основных цветов. Чтобы избавиться от отрицательных коэффициентов в выражениях для цветовых пар, можно немного переопределить спектры основных цветов, что, правда, сделает их нереальными по отдельности.
           CIE предлагает использовать в качестве основных условные цвета X, Y Z. Вам не удастся найти их в природе – спектральная плотность этих цветов на некоторых длинах волн отрицательна. Хотя, сами X, Y и Z не являются реальными цветами, подобраны они так, что любой реальный цвет представим в виде их линейной комбинации с неотрицательными коэффициентами. Так выглядят функции подбора для XYZ:
 

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

 
           Крайне удобным производным от XYZ пространством является CIE xy, получаемое сечением XYZ плоскостью X+Y+Z=1. На плоскости вводится система координат с началом в точке пересечения плоскости с осью Z и координатами x и y, равными единицам в точках пересечения плоскости с осями X и Y соответственно. В результате получается следующее:
 

 
           Рассмотрим рисунок подробнее. Цвета в пределах плоскости xy отличаются по цветовому тону и насыщенности, в то время как яркость (расстояние до нуля XYZ) остается за пределами описания. Иногда для полного описания цвета используют пространство xyY, рассматривая в качестве яркости значение Y.
 
Яркость
           Строго говоря, яркость – это физическая характеристика источника света, описывающая его излучение в данном направлении. В контексте цветов корректнее было бы говорить о светлоте, как субъективном отличии яркости данного цвета от яркости эталонного белого. Используются, однако, оба термина: можно считать, что светлота характеризует отличие цвета от белого, а яркость – его отличие от черного. В переводной литературе в качестве синонима яркости иногда используется термин «значение» (value).
           Численно яркость может определяться по-разному. В пространстве XYZ или аналогичном ему под яркостью может пониматься евклидово расстояние до начала координат, сумма всех трех координат или двух из них. Иногда используется наибольшее значение из трех координат цвета или среднее арифметическое двух наибольших. В этой статье мы не будем углубляться в дебри тонких различий, не критичных для общего понимания теории цвета. Какой бы термин вы ни использовали для яркости/светлоты и как бы ни определяли величину, суть остается неизменной. Абстрагировавшись от цветового тона и насыщенности, мы получим отрезок, на одном конце которого будет белый цвет, а на другом – черный.
 
           Вернемся к плоскости xy. На плавной дуге, ограничивающей область видимых цветов, отмечены длины волн. На ней же располагаются соответствующие этим длинам волн чистые спектральные цвета. Соединяющий фиолетовый с красным отрезок служит прибежищем пурпурных цветов – там же располагается и маджента. Пурпурный – неспектральный цвет, у него нет своей длины волны или диапазона длин волн. Ощущения пурпурных тонов возникают в результате приема глазом смеси красных и фиолетовых цветов.
           Цвета на ограничивающей кривой чистые, т.е. обладают максимальной насыщенностью. По мере приближения к центру области насыщенность падает, пока, наконец, цвет не становится белым (строго говоря - серым). Координаты точки, в которой цвет становится белым - «точки белого» - зависят от текущего состояния глаз, адаптирующихся к освещению. При рассмотрении сцены, освещенной единственным источником света, точка белого зависит от цветовой температуры этого источника. На рисунке отмечена кривая цветовой температуры, вдоль которой перемещается точка белого при освещении источниками света, соответствующими модели АЧТ. Для неидеальных источников точка белого может смещаться и в перпендикулярном кривой температур направлении.
           Самым полезным свойством пространства xy является наглядное представление производных цветов. Для любого набора основных цветов все воспроизводимые путем их смешения цвета будут располагаться в пространстве xy внутри минимального выпуклого многоугольника, описывающего точки основных цветов. Если смешивать два основных цвета A и B, то все цвета, которые можно получить таким смешением, будут располагаться на отрезке AB плоскости xy. Если основных цветов три – все возможные производные цвета будут располагаться в треугольнике, образуемом основными. Если, например, в каждом пикселе монитора мы смешиваем основные цвета RGB, выбранные как показано на рисунке, несложно определить треугольник цветов, которые такой монитор способен воспроизвести. Хорошо видно, что никакой монитор, даже при идеальных монохромных пикселях, не сможет воспроизвести все видимые цвета. Впрочем, это мы знали и раньше: в противном случае не возникло бы необходимости в цветах XYZ.
           Поскольку производные от двух цветов всегда лежат на соединяющем их отрезке, очевидно, что для любого цвета можно подобрать второй, который в смешении с ним будет давать белый. Цвета, смешением которых в определенных пропорциях можно получить белый, называются дополнительными. При этом говорят обычно о чистых цветах, т.е., фактически, о тонах.
 
           Во всех случаях реального воспроизведения цветов нас мало интересуют цвета нереальные, а также реальные, но невоспроизводимые. Вполне естественным в таком случае будет использование основных цветов воспроизводящего устройства в качестве базисных векторов пространства. Для традиционных красного, зеленого и синего получим трехмерное RGB-пространство, область реальных цветов которого ограничена кубом:
 

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

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

 
           Любой цвет на таком круге задается в полярной системе координат: цветовой тон определяет угол, а насыщенность – расстояние от центра (белого). Вспомнив про яркостную составляющую, и дополнив ею систему координат до цилиндрической, получаем HSB - еще одно пространство для описания любого цвета. Заметим на этот раз, что не совсем любого, а любого воспроизводимого.
 
HSB (HSV), HSL, LCH
           HSB (Hue, Saturation, Brightness) = тон, насыщенность, яркость;
           HSV (Hue, Saturation, Value) = тон, насыщенность, значение;
           HSL (Hue, Saturation, Lightness) = тон, насыщенность, светлота;
           LCH (Lightness, Chroma, Hue) = светлота, цветность, тон.
           Различия перечисленных цветовых пространств сродни различию светлоты и яркости: термины, в принципе, разные, но на понятийном уровне эквивалентные. Все они описывают координаты цвета в цилиндрических координатах. Численные определения могут различаться, но hue всегда задает цветовой тон, saturation/chroma – насыщенность, а brightness/lightness/value –высоту в цилиндре, путь от белого к черному.
 
           Основная неприятность при работе во всех рассмотренных пока цветовых пространствах – неочевидная «похожесть» цветов для глаза. Всем, кто имеет дело с численными значениями цветов, хотелось бы простой зависимости: чем более похожи цвета, тем ближе соответствующие им точки в цветовом пространстве. Т.е. область цветов, максимально похожих на заданный, должна представлять собой небольшую сферу. К сожалению, это не так. Области схожих цветов не только представляют собой эллипсоиды вместо сфер, но и меняют свои размеры и ориентацию при смещении эталонного цвета даже в пределах одного пространства.
           Придумана уйма ухищрений с целью получить более-менее однородное цветовое пространство. Наиболее универсальным решением считается использование пространства CIE Lab.
 
Lab
           Термин «пространство Lab» используется довольно широко, но не совсем корректен. Обычно под ним подразумевается пространство CIE L*a*b*, но может также пониматься и Hunter Lab. Оба эти пространства оперируют хроматическими координатами a(a*) и b(b*) и яркостной L(L*). Как и раньше, мы не будем заострять внимание на детальных различиях схожих в целом пространств. Однако, если вам придется сравнивать численные значения в CIE L*a*b* и Hunter Lab, различия могут оказаться существенными.
 
           Lab представляет собой нелинейную деформацию пространства XYZ, основной целью которой является приведение пространства к максимальной однородности и отделение хроматической составляющей от яркостной. Уже знакомый нам конус видимых цветов принимает после деформации следующий вид:
 

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

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

 
           При желании, в полученном пространстве можно снова ввести цилиндрическую систему координат: яркость вдоль оси L, насыщенность как расстояние до нуля в плоскости ab и цветовой тон как угол с осью a в той же плоскости.
 
Баланс белого
           Цвет нужно регистрировать камерой и воспроизводить для восприятия глазом. Как уже упоминалось выше, одних данных со светочувствительного элемента камеры недостаточно для определения настоящего цвета снятого объекта. Более того, само понятие «настоящего цвета» достаточно субъективно. Говоря о настоящем цвете, подразумевают обычно вид при привычном дневном освещении, к которому и стараются привести любое изображение. В общем случае это означает, что при известном спектре источника света и известном спектре отраженного объектом света нужно реконструировать спектральное альбедо поверхности объекта и оценить спектр отраженного им света при освещении D65. На практике, разумеется, никто этого применительно к обработке фотоизображений делать не будет. Да оно для трехкомпонентного цвета и не нужно.
           Помните плоскость пространства xy? Чистые цвета на нем задаются жестко, а все остальные определяются положением точки белого. Перетаскиваем белый, и все пространство перетягивается за ним как резиновая пленка. Для моделей цвета, основанных на человеческом зрении такое «перетягивание одеяла» оказывается вполне достаточным для адаптации изображения под разные источники света.
           Пусть белый, синий и оранжевый листы бумаги снимаются при освещении лампой накаливания с цветовой температурой 2500 K. Камера зарегистрировала отраженное ими излучение, и мы пытаемся интерпретировать полученные с нее численные значения, воспроизводя их на мониторе. Если интерпретировать цвета исходя из предположения об источнике D65 (т.е. 6504 K), мы вынуждены будем считать, что в исходном излучении было гораздо больше холодных и гораздо меньше теплых тонов, чем в действительности. Синий лист отразил преимущественно холодные тона, но в спектре реального источника света их и так было мало. Не зная этого, мы сочтем синий лист нейтральным. Аналогично, белый лист мы сочтем чуть рыжеватым, а оранжевый – красным.
           Если же, узнав, что температура источника в действительности 2500 K, мы переместим точку белого в правильное положение и «перетянем» соответствующим образом все цвета в плоскости xy, изображение примет куда более натуральный вид:
 

 
           Возможен и иной порядок действий. Мы знаем, что центральный лист должен быть белым, но в интерпретации с D65 он приобретает рыжий оттенок. Перетаскиваем точку белого в ту область, в которой находится наш «рыжий белый» и перетягиваем за ним остальные цвета. Результат будет с точностью до погрешностей вычислений тем же, что и в предыдущем случае.
 
Теплые и холодные
           Кого-то может смутить, что в холодных источниках света преобладают теплые тона, а в горячих – холодные. Хотя, в контексте цветовой адаптации порядок и восстанавливается (при охлаждении эталонного белого изображение синеет), не стоит смешивать эти понятия. Для человека, плохо переживающего температуры за пределами диапазона 220-320 К, все температуры источников света, не просто теплые, а безумно горячие. Самое горячее, прикосновение чего мы можем представить – это огонь или раскаленное железо, что соответствует как раз наиболее холодным источникам света.
 
           Напоследок стоит отметить, что сама цветовая температура – это условность. Она соответствует АЧТ заданной температуры, но далеко не все источники света адекватно описываются моделью АЧТ. Тем не менее, точку белого можно установить для любого источника света, и цветовая температура служит лишь для задания ее координат. Когда в RAW-конвертере вы двигаете ползунки Temperature и Tint, вы задаете тем самым координаты точки белого в пространстве xy. Криволинейная ось Temperature располагается вдоль линии АЧТ, а координаты Tint отсчитываются в направлении нормали к ней. Иногда под теми же именами могут упрощенно применяться прямолинейные оси синий-желтый и зеленый-пурпурный.
 
Субтрактивный синтез цветов
           Выше мы рассматривали цвета как результат смешения световых потоков от нескольких сравнительно монохромных источников. Такой способ формирования цвета называется аддитивным синтезом и применяется в активных дисплеях, излучающих свет. Как только встает вопрос печати, ситуация меняется. Работая с красками вместо ламп, мы уже не можем обеспечить наличие того или иного цвета в отраженном световом потоке - обеспечить мы можем лишь его отсутствие. Красная краска не заставляет лист бумаги светиться красным светом, а лишь поглощает все цвета с меньшими длинами волн. Красный свет же она пропускает сквозь себя и позволяет белому листу отразить его. Если раньше мы добавляли отдельные цвета к отсутствию света (т.е. к черному), то теперь вычитаем отдельные цвета из полного спектра (из белого). Смешение нескольких красок означает вычитание нескольких цветов, а вычитание достаточного количества разных цветов должно дать черный. Казалось бы, ничего, в сущности, не меняется: освещай себе рисунок неизменным белым светом, да и рассматривай красную краску как красный фонарь. Но не так все радужно.
 
Модели, синтез и пространства
           Часто используются термины «аддитивная модель цвета» и «субтрактивная модель цвета». Модель- это не синоним использованного нами «синтеза», но ралзичие аддитивности и субтрактивности то же. Модель цвета – это способ его абстрактного описания, а синтез – способ реального формирования (печати или отображения на экране).
           Цветовое пространство также абстрактно, как и модель, но характеризует уже конкретную систему координат, в которой задается цвет. Дабы не путать модели и пространства, полезно запомнить, что моделей цвета лишь две: аддитивная и субтрактивная. Цветовых же пространств можно придумать сколько угодно.
 
           Довольно расхожа у печатников и цветокорров шутка про RGB-принтеры и CMY-мониторы, характеристики которых отправляют изучать новичка. Потом весь коллектив дружно потешается над мучениями бедолаги, разыскивающего несуществующие устройства. Так почему же нельзя сделать принтер с красками RGB и монитор с пикселями CMY? Ответ удивительно прост: нипочему. Сделать и то, и другое вполне возможно, и конструкции эти даже будут работать и будут какие-то изображения воспроизводить. Но результат вас едва ли удовлетворит.
           Допустим, наш принтер печатает красной, синей и зеленой красками. Таких же цветов пиксели составляют и матрицу монитора. Попробуем нарисовать что-нибудь желтое на мониторе и на принтере. Взглянув на диаграмму в плоскости xy, мы понимаем, что для этого придется смешать красный и зеленый. Так и сделаем: нарисуем частично пересекающиеся красный и зеленый круги (слева экран монитор, справа – напечатанный принтером лист):
 

 
           Основные цвета получились почти одинаково хорошо, но что случилось с желтым? Можно было бы предположить, что вся проблема в слишком большом количестве краски. Однако если попытаться осветлить изображение, напечатав его менее плотными красками, результат будет также весьма прискорбным:
 

 
           Желтый так и не появился. Похоже, как бы мы ни мучались, изобразить нашим RGB-принтером что-то желтее грязно-бурого цвета едва ли выйдет. Проблема заключается не в количестве красок, а в их выборе и восприятии. Чтобы получить красный цвет при помощи краски, мы отсекаем ей все составляющие светового потока с длинами волн меньше, скажем, 600 нм – а для достаточно чистого цвета, и того строже. Чтобы получить зеленый, отсекаем все короче 500 нм и длиннее 560 нм. Таким образом, при смешении красной и зеленой красок мы получаем надежное перекрытие всего видимого диапазона: свет поглощается полностью.
           С CMY-монитором дела обстоят похожим образом, только с обратным эффектом: в большинстве случаев наблюдатель будет долго мучаться, чтобы отличить результирующий цвет от белого или серого. Достаточно взглянуть на положение цветов CMY на диаграмме xy, и станет понятно, что отобразить их смешением сколько-нибудь насыщенные красный, синий или зеленый цвета едва ли удастся.
           На практике основные цвета используются с точностью до наоборот: на мониторе светятся RGB пиксели, а на бумагу наносятся CMY краски.
 

 
           Теоретически, смешение в достаточном количестве красок CMY должно дать черный цвет, но на практике смесь получатся бурой. Из-за неидеальности основных красок, не позволяющих поглотить весь падающий свет, печать обычно производят как минимум четырьмя красками CMYK, добавляя черный (K – от «key color», ключевой цвет). Для печати более насыщенных цветов иногда добавляют и другие краски в произвольном количестве. Семицветная печать в современных фотопринтерах стала уже вполне обыденным явлением.
           Выбор в качестве основных цветов CMY позволяет «работать мелкими мазками». Вместо красной краски, которая поглощает ВСЕ составляющие, кроме самых длинных волн, используется циан, поглощающий ТОЛЬКО красный цвет. Аналогично и с другими цветами: желтый получается поглощением из полного спектра синей составляющей, маджента – зеленой. Нетрудно заметить, что в аддитивной модели использовался тот же принцип мелких мазков: небольшими порциями добавлялись красный, синий и зеленый.
 
           Осталось сказать еще пару слов о выборе цветов. Строго говоря, выбор триплетов основных цветов произволен. Как мы показали, и печатать на бумаге, и рисовать на мониторе можно любыми цветами, но качество получаемых результатов здорово различается. Казалось бы, основные и дополнительные цвета должны быть симметричны, но почему-то, для получения одних нужно вычитать из спектра только какой-то диапазон, а для других все кроме какого-то диапазона. При этом и те, и другие имеют свои, вполне определенные, диапазоны длин волн. Откуда же берется несимметричность?
           На этот вопрос есть два ответа: короткий и длинный. Короткий ответ заключается в том, что так устроено зрение. Если в спектре излучения присутствуют только длинные волны, мозг воспринимает свет как красный. Если же в полном спектре отсутствуют только длинные волны, свет воспринимается как циановый.
           Для длинного ответа снова понадобится область видимых цветов в пространстве xy. Хотя границы области и плавные, в ней, все же, можно грубо выделить три относительно ровные грани и три относительно острых угла. Красный, синий и зеленый располагаются в «углах» видимой области, а циан, маджента и желтый – на «гранях». Несимметричность обнаружилась, но как она влияет на разницу использования в аддитивном и субтрактивном синтезе?
           Расположенные в углах цвета RGB очевидно дают наибольшее покрытие области видимых цветов при аддитивном синтезе. Треугольник, построенный на основе CMY, обладает значительно меньшей площадью. При субтрактивном ситуация меняется. Вычитание из полного спектра некоторого диапазона длин волн означает фактически отсечение от видимой области сегмента, включающего все более-менее насыщенные оттенки данного диапазона. Посмотрим, как действуют синяя и маджентовая краски, поглощающие соответственно желтый и зеленый цвета примерно равной – отнюдь не максимальной - насыщенности:
 

 
           Сравните, сколько лишних цветов оказалось утеряно при использовании синей краски: насыщенные зеленый и красный канули в лету. При этом маджентовая краска аккуратно уничтожила зеленый и практически не затронула другие цвета. Легко убедиться, что аналогичной будет ситуация и с остальными цветами триплетов CMY и RGB. Вот она и сказалась, несимметричность «углов» и «граней». Углы хороши для аддитивного синтеза, но совершенно не годятся для субтрактивного.
 
           На этом, пожалуй, все. Написать о теории цвета можно еще очень и очень много. В статье я постарался объединить основы, понимание которых важно практически для всех, кто работает с цветными изображениями.
 
Интересующимся темой цветов рекомендую для дальнейшего изучения:
           1. Д. А. Форсайт, Ж. Понс, Компьютерное зрение. Современный подход, М: Издательский дом «Вильямс», 2004.
           2. Т. Грей, Уверенная работа с цветом, М.: НТ Пресс, 2007 (прим.: книга изобилует опечатками, читать нужно осторожно)
           3. Англоязычная Википедия, начиная с записи “Color theory”. На русский, к сожалению, переведено очень мало и, зачастую, неточно.
 
Диаграммы для статьи построены с использованием данных с сайта Color & vision research laboratories (Institute of ophthalmology, UCL): http://www.cvrl.org .
 
           P.S. Заранее отвечаю на невысказанный вопрос, зачем это все было нужно и стоило ли мучаться. Всеми построениями занимался лишь потому, что было интересно. Было интересно разобраться в том, что оставалось недопонятым, было интересно получить иллюстрации из своей программы, а не из справочников. Сама статья – просто формулировка подсказок для других, кому тоже интересно. Всю приведенную выше информацию найти в иных источниках, конечно, можно – Америки я не открывал. Но информация эта настолько разрозненна, что единое описание «для чайников» считаю не только полезным, но и совершенно необходимым. Словом, да не пропадет для других то, что было найдено и объединено для себя.

© Фото Мишка, 2008
mike@photomike.ru