К оглавлению

Цвет в фотографии

Цвет в цифровой фотографии

Когда то давно я написал и опубликовал статью Определение цвета огранённого камня. Она родилась на свет в результате обсуждения российского стандарта на огранённые изумруды на комитете ТК-408 Минфина. Основной упор там был сделан на системы классификации цвета. Сейчас же я сначала послушал интересные вещи о цвете в записях семинара Ильи Борга, потом прочёл статью Сергея Щербакова Палитры фотографа в «foto & video» 10 2011, ещё Профилирование цифровой камеры с помощью X-Rite Profile Maker Pro 5 и мишени X-Rite ColorChecker, потом прочёл интересную статью Профилирование цифровых камер. DNG профили и их отличия от ICC. Применение Colorchecker 24 в блоге dmitry_novak. На самом деле, по последней ссылке я почитал и другие его статьи. Интересные и полезные. Но в одном месте увидел описание им работы нашего глаза и был в шоке – он, оказывается, не имеет об этом представления, описывает цветоразностные сигналы, спутав глаз с телевизором. Кроме того, мне неоднократно доводилось дискутировать о цвете с фотографами и я, как правило, сталкивался с отсутствием у оппонентов знаний даже об основах колориметрии (науки о цвете). В результате я созрел для написания данной заметки. В качестве основы взял фрагменты старой статьи.

И так, приступим. К сожалению, о сложных вещах нельзя писать просто, как бы мне этого не хотелось.

Трёхмерность цвета

Человеческий глаз способен ощущать электромагнитные излучения с длиной волны в диапазоне от 380 до 760 нанометров. Такое, видимое глазом излучение, называется светом. Попадая на сетчатку глаза наблюдателя, свет создаёт ощущение цвета.

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

Томас Юнг (1773 – 1829) первым серьёзно обосновал трёхкомпонентную теорию зрения. Он проводил опыты, в которых белый цвет получался путём смешения излучений не всего видимого спектра, а только трёх! Так как Юнг придерживался волновой природы света, для него было очевидно, что трёхкомпонентность цвета можно объяснить только устройством глаза человека. Современные специальные электрофизиологические исследования показали наличие в сетчатке глаза трёх видов колбочек с максимумами спектральной чувствительности приблизительно на 611, 529 и 462 нм. Биологам до сих пор не удалось выделить в чистом виде вещества сетчатки человеческого глаза, отвечающие за цветовое зрение. Однако детальные эксперименты по сложению цветов и исследования людей с нарушениями цветового зрения позволили точно определить кривые спектральной чувствительности r0(λ), g0(λ) и b0(λ) трёх отдельных цветовых рецепторов глаза человека, связанных с колбочками. Это впервые проделала Печкова Т.А.

Если из существования трёх типов цветовых рецепторов следует трёхмерность цветового восприятия, то возникает вопрос, что же происходит в сумерках, когда на смену колбочкам приходят палочки? Ведь это четвёртый тип рецепторов. Спектральная чувствительность палочек подобна чувствительности несенсибилизированной чёрно-белой фотоплёнки, она тем выше, чем выше энергия фотона и короче длина волны. Т.е. синие предметы кажутся в темноте светлыми, а красные тёмными. Но оказывается, что действие палочек не смешивается с действием колбочек. Дело в том, что в центральной области сетчатки, которой мы разглядываем предметы, палочек вообще нет. Именно поэтому, мы в сумерках видим, но разглядывать детали предметов не можем. Астрономы же хорошо знают, что слабые звёзды легче заметить на периферии зрения, краем глаза, так как там много чувствительных палочек, приспособленных к зрению в темноте.

Предмет и освещение

Отражаясь от материала, из которого изготовлен предмет, свет изменяется. Коэффициент отражения предмета К(λ) зависит от длины волны λ. Так как излучения с различными длинами волн отражаются в разной степени, изменяется и спектральный состав попадающего в глаз света P(λ), который легко определить, считая, что источник света имеет спектральный состав Е(λ):

P(λ) = К(λ)*Е(λ). (1)

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

Если выглянуть за окно зимним утром перед самым восходом солнца, мы увидим синий снег, а если днём заглянуть в комнату, где горит лампочка накаливания, нетрудно заметить преобладание оранжевых тонов. Так проявляется различие в спектральном составе источников света разного типа. В области светотехники и близких к ней дисциплин стандартизацией измерений и расчётов занимается Международная Комиссия по Освещению – МКО (CIE – Commission International de l’Eclairage). МКО рекомендует для колориметрии четыре стандартных источника света: A, B, C и D65. Они включены и в ГОСТ 7721 – 76 «Источники света для измерения цвета», где для каждого источника зафиксирована его спектральная плотность излучения.

Стандартный источник A, воспроизводящий условия искусственного освещения лампами накаливания, определён как источник излучения, совпадающий по спектру излучения с чёрным телом, нагретым до температуры 2856K. Источник B воспроизводит прямое солнечное освещение, а источник C – дневное освещение рассеянное безоблачным небом. Источник D65, соответствующий усреднённому дневному освещению, введён специально для люминесцирующих объектов, поэтому для него нормировано излучение и в ультрафиолетовой области спектра. Обратите внимание на иззубренность спектра D65.

Реальный спектр солнечного излучения достигшего поверхности земли приведён на следующем рисунке (собственные измерения).

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

На этом рисунке (собственные измерения) приведён реальный спектр излучения одной из таких ламп, выпущенной весьма уважаемой фирмой. В целом, цвет этой лампы соответствует источнику D65, но спектр излучения, состоящий из узких и мощных линий излучения паров ртути и излучения люминофора нанесённого на колбу лампы, разительно отличается от солнечного. В результате при освещении такой лампой могут проявляться очень специфические оптические эффекты. Например, “александритовый” эффект в кристаллах содержащих празеодим. Такие материалы имеют жёлтые или оранжевые цвета на солнце и под лампами накаливания, но приобретают зелёные оттенки под люминесцентными лампами. Эффект смены цвета объясняется тем, что узкие полосы поглощения празеодима перекрывают некоторые из линий излучения ртути.

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

Основы колориметрии

Условно обозначая светочувствительные рецепторы глаза буквами r, g и b можно для любого спектрального состава излучения P(λ) рассчитать интенсивность восприятия всего излучения каждым рецептором глаза, суммируя (интегрируя) вклад всех составляющих это излучение длин волн:

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

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

Таким образом, ощущаемый цвет однозначно определяется в нашем глазу тремя независимыми величинами. Сама собой напрашивается аналогия с трёхмерной системой координат, где по осям отложены интенсивности восприятия цвета для трёх видов рецепторов. Такая система цветовых координат существует и называется физиологической системой. Она не получила широкого распространения, так как была определена относительно поздно, когда уже были приняты менее естественные, но более удобные для расчётов системы координат. Так исторически самой первой возникла система измерения цвета, основанная на сравнении его с суммой трёх спектрально чистых (монохроматических) излучений: красного (700 нм), зелёного (546 нм) и синего (436 нм) цветов, взятых в соответствующих количествах. По английским названиям основных цветов, эта система была названа RGB (красный, зелёный, синий). Координаты цвета в такой системе показывают, сколько нужно взять излучений её основных цветов, чтобы наблюдатель не мог отличить цвет их суммы от измеряемого цвета. Оказывается, что для разных наблюдателей с нормальным цветовым зрением, получаются очень близкие результаты.

На основе анализа целого ряда исследований в 1931 году МКО утвердила значения ординат кривых сложения системы RGB для стандартного колориметрического наблюдателя. Эти значения определены с шагом в 5 нанометров и показывают, сколько нужно взять основных цветов этой системы для того, чтобы их сумма не отличалась от монохроматического излучения с заданной длиной волны. Эти кривые подобны приведённым ранее кривым чувствительности рецепторов глаза:

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

Но смотрите, что получается. Допустим, мы имеем некоторый цвет. Тогда для рецепторов глаза мы получим три значения r, g и b в физиологической системе координат. Для того же цвета, но в колориметрической системе RGB мы получим три совсем других числа r, g и b. Если же мы захотим нарисовать этот цвет на экране монитора, то должны будем сделать это цветами трёх люминофоров кинескопа, которые кроме названия не имеют ничего общего ни с рецепторами глаза, ни с основными цветами колориметрической системы. Для правильного отображения цвета на мониторе мы должны подать на него три совсем других сигнала r, g и b. Дело в том, что совпадают только названия трёх компонент цвета, а сами системы цветовых координат совершенно разные.

Но так как колориметрия основана на сложении цветов, колориметрические системы координат аналогичны геометрическим. Так, из одной цветовой системы всегда можно перейти в другую с помощью формул преобразования координат, например, если известны координаты цвета R, G и B в системе RGB, координаты r, g и b в физиологической системе можно найти по формулам:

Для этого необходимо только определить коэффициенты матрицы преобразования Anm.

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

С этой целью МКО-31 утвердила значения относительной спектральной световой эффективности для стандартного фотометрического наблюдателя V(λ):

Чтобы рассчитать относительную яркость сложного излучения Ф, имеющего спектральный состав P(λ), нужно сложить (проинтегрировать) вклад всех составляющих его длин волн, видимых глазом:

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

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

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

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

Цвет в компьютере

Когда то давно экраны компьютеров были чёрно-белыми и даже чёрно-зелёными. Тогда ещё не стоял вопрос правильного воспроизведения цветов. Потом появились цветные мониторы, но количество (палитра) цветов отображаемых видеокартой было не велико, и поэтому точность их воспроизведения не была важна. Но сейчас каждый выводимый на экран цвет состоит из трёх компонентов, которые называются R,G и B. Очевидно, что это аббревиатура английских слов означающих красный, зелёный и синий. Значение каждой из трёх компонентов задаётся целым числом от 0 до 255, т.е. восьмью битами. Это число означает, сколько надо вывести на экран красного, зелёного или синего цвета. Но какого красного или какого зелёного? Они же ведь разными бывают. А какого получится! Вот какие у Вас есть люминофоры в кинескопе, такими и будет нарисовано изображение. Если у Вас красный оказался оранжевым, то все красные цвета тоже станут оранжевыми, а если зелёный – изумрудный, то и листья салата на экране станут изумрудными. Т.е. получается, что на разных мониторах картинки будут совершенно разными. Причём, если интенсивности свечения отдельных люминофоров (цветовой баланс) можно регулировать, настраивая монитор, то цвет свечения люминофоров изменить нельзя. Но ведь, как я выше показал, из одной системы цветовых координат всегда можно перейти в другую, преобразованием системы координат по формулам (3). Т.е. цвет можно правильно воспроизвести с помощью разных люминофоров, но для каждого из наборов люминофоров надо рассчитать новые значения R,G и B. Для этого надо только определить коэффициенты матрицы преобразования и осуществить это преобразование. Так появилась идея цветового менеджмента с использованием цветовых профилей. Каждое устройство, считывающее в компьютер или выводящее из компьютера цвет, сопровождается точным описанием своих характеристик. Оно содержится в специальном файле цветового профиля. Вспомните, когда Вы покупаете монитор, то к нему прилагается дискета или компакт диск, на котором есть файл с расширением *.icm . Этот файл должен быть установлен в операционную систему как цветовой профиль монитора, тогда любая программа (фотошоп, например), поддерживающая цветовой менеджмент, сможет его использовать. Как и любой файл цветового профиля, это двоичный (бинарный файл) он подчиняется международной спецификации, где описано, как его можно прочесть. В заголовке файла указано, в каком именно месте (смещение от начала) в этом файле записано каждое значение и в каком формате. Записаны же там, прежде всего, точные значения координат цветности люминофоров в колориметрической системе XYZ. Это позволяет приготовить для каждого монитора специальные значения R,G и B, которые дадут на его экране совершенно правильный цвет.

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

Цветовой профиль монитора, это цветовое пространство, куда надо преобразовать цвета изображения. А откуда его преобразовывать? В каком пространстве оно приготовлено? Цветовой менеджмент требует, чтобы в каждый файл картинки вместе с изображением были записаны координаты цветности трёх основных цветов, которыми это изображение было нарисовано. Только в этом случае оно будет воспроизведено правильно.

Когда я сказал, что любую комбинацию R,G и B можно пересчитать в правильные значения для воспроизведения данным монитором, то допустил неточность. Преобразовать то можно, причём преобразование всегда происходит точно без потерь и искажений, но можно, например, получить результат, в котором одно или два значения будут отрицательными. Отрицательный сигнал монитор воспроизвести не сможет. Каков смысл отрицательного сигнала? Отрицательный сигнал означает, что из результирующего цвета надо вычесть цвет одного из люминофоров. Почему это происходит? Например, мы захотели вывести на экран цвет хорошего изумруда. Допустим, что мы сумели его правильно сфотографировать или получить правильный цвет в компьютере другим способом. Рассчитываем значения трёх сигналов для монитора и получаем отрицательное значение для красной компоненты. Т.е. для правильности цвета надо вычесть из результирующего (который состоит только из зелёного) некоторое количество красного. Дело в том, что цвет люминофора монитора оказался недостаточно спектрально чистым для воспроизведения цвета изумруда. Цвет изумруда насыщенней цвета люминофора. Тут мы сталкиваемся с понятием цветового охвата монитора. Для удобства чтения я снова приведу здесь картинку локуса с цветовым треугольником своего монитора.

Это LCD-монитор NEC 3090 WQXi. Он может воспроизводить только те цвета, которые можно получить сложением его основных цветов. Это значит, что все воспроизводимые им цвета лежат внутри треугольника, вершинами которого являются точки с координатами цветности его основных цветов. Треугольник с голубым контуром внутри цветного, это охват цветового пространства sRGB, в углах которого лежат точки с цветностями основных цветов системы sRGB. Что это такое и откуда она взялась? Дело в том, что ЖК-мониторы появились сравнительно недавно и цветовые характеристики у них очень разные, а до этого господствовали мониторы на электронно-лучевых трубках. А там все производители использовали всего три типа люминофоров по одному на каждый цвет. Спектры излучения этих люминофоров (собственные измерения нескольких мониторов разных производителей) приведены на следующем рисунке.

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

Вот координаты цветности этих люминофоров трубочных мониторов и стали основными цветами системы sRGB. Это было очень удобно, изображение, приготовленное в этой системе, практически на всех мониторах смотрится одинаково правильно. Максимум, что надо было сделать, это отрегулировать цветовой баланс. Это же цветовое пространство стало по умолчанию стандартным для интернета. Но ведь это цветовое пространство убого в своей узости. Человеческий глаз различает гораздо больше цветов (весь локус), чем включает в себя sRGB. И этот стандарт стал одним из препятствий в развитии правильного цветового менеджмента на компьютерах под управлением операционной системы Windows. Зачем что-то разрабатывать, если и так с грехом пополам, но работает? В результате, даже в седьмой версии Windows для иконок на рабочем столе, окошек и прочего оформления цветового менеджмента нет. В разных программах фирмы Microsoft он поддерживается в разной степени – от полного отсутствия, до несколько странной поддержки. Безусловно поддерживает цветовой менеджмент Adobe Photoshop и другие продвинутые редакторы. Фирма Adobe предложила так же своё цветовое пространство для редактирования и сохранения файлов - Adobe RGB (треугольник с жёлтым контуром на рисунке), которое хорошо соответствует возможностям современных камер и включает в себя больше насыщенных цветов, чем sRGB.

Но чтобы увидеть их на экране монитора, необходимо иметь и монитор с широким цветовым охватом.

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

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

Цвет в Интернете

Ещё больше проблем с цветовым менеджментом возникает в мировой Сети. Вы можете выложить файл со встроенным цветовым профилем, а можете без него. Что получится?

Если Вы выложите файл без профиля, то браузеры будут по умолчанию считать, что он приготовлен в пространстве sRGB. Если он и был приготовлен в этом пространстве, то всё будет в порядке. А вот если Вы приготовили его в другом цветовом пространстве, то цвета исказятся. В частности, если Вы его готовили в Adobe RGB, а потом выложили без цветового профиля в Интернет, то все увидят очень блеклые цвета.

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

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

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

Цвет в фотокамере

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

Такое расположение было предложено сотрудником фирмы Кодак Брайсом Э. Байером (Bryce Bayer).

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

Таким образом, информация о яркости изображения сосредоточена преимущественно в зелёном канале и поэтому детализация в нём должна быть лучше, чем в других. Каждый пиксель даёт информацию о своём цвете в данной точке, но информации о других цветах там нет, а чтобы получить цветное изображение, нам надо иметь в каждой точке три компоненты цвета. В данном пикселе двух других цветов нет, но они есть в соседних. Исходя из информации в соседних пикселях, можно предположить, какими могли быть два недостающих цвета в данном пикселе. Для этого используют математическую интерполяцию. При съёмке в джипег эту операцию проводит процессор фотокамеры. Мощность его не велика и используются самые простые алгоритмы. Для того, чтобы провести обработку более качественно, для сохранения изображения используют RAW-формат файла. Это необработанный сигнал с матрицы камеры. Его обрабатывают специальными RAW-конвертерами уже на домашнем компьютере. Разные конвертеры используют разные алгоритмы, которые являются know how фирмы и обычно не разглашаются. Конвертер не только проводит интерполяцию (демозаику), но и осуществляет преобразование цветов. На самом деле он ещё много чего делает, часто не сообщая об этом пользователю, но сейчас мы будем говорить только о цвете.

Сенсоры камеры аналогично рецепторам глаза имеют свои спектральные характеристики чувствительности. Производители матриц их не публикуют. Возможно, для того, чтобы усложнить жизнь конкурентам, возможно, чтобы избежать необоснованной критики со стороны некомпетентных людей. По крайней мере, я не нашёл в интернете ни этих характеристик, ни спектров пропускания фильтров, накрывающих сенсоры, ни способа изготовления этих фильтров. Скорее всего, их делают интерференционными, литографически нанося слои диэлектриков разной толщины. На самом деле, результат их действия можно измерить. Камера у нас в руках, дальше нужно только сфотографировать сплошной спектр и проанализировать изображение. Несколько лет назад я прочёл замечательную статью Занимательная спектроскопия в которой всё именно так и сделано. Статья мне очень симпатична научным подходом её автора Родионова Владимира. Он определённо отличный экспериментатор. Я всем рекомендую её прочесть. Но вот только сейчас я увидел одну существенную ошибку там. Измеряя чувствительности сенсоров, Владимир получил вот такие спектры (привожу только фрагмент рисунка из его статьи):

Из них следует, что в зелёной области кривые красного и синего рецепторов не только не перекрываются, но даже не соприкасаются. Из этого Владимир сделал вывод, что матрица (он исследовал Кэнон) не различает некоторых оттенков зелёных цветов. Я потом цитировал его в этой части. И вот теперь, в поисках истинных кривых чувствительности сенсоров я снова набрёл на его статью, внимательнее посмотрел на форму кривых и несколько удивился. Прежде всего, их двугорбому виду и полному отсутствию чувствительности в некоторых областях спектра. Т.е. там полный ноль. Это удивительно. Ведь если бы меня попросили разработать такие фильтры, я бы попал в тупик. Я не знаю, как их можно умудриться сделать такими. И тут меня осенило. Это не кривые чувствительности сенсоров! Это всего лишь сигналы RGB и, скорее всего, в цветовом пространстве sRGB. Он анализировал конечное изображение, а чувствительности сенсоров можно получить только из RAW-файла до всех обработок. Для этого у него просто не было инструментов. А когда камера осуществляла матричное преобразование из широкого по цветовому охвату пространства своих сенсоров в узкое цветовое пространство sRGB, она получила в некоторых спектральных областях отрицательные сигналы и отбросила их, как не удовлетворяющие спецификациям файлов изображений. Вот так и получились области с совершенно нулевой чувствительностью. На самом деле фильтры сенсоров изготовлены гораздо качественнее, их области пропускания перекрываются между собой как и чувствительности рецепторов глаза человека и хорошо различают все цвета.

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

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

  • Прежде всего, это ошибки цветового баланса. Связаны со спектральным составом освещения. Цветовой баланс нетрудно поправить в любом редакторе, добиваясь того, чтобы белые и нейтрально серые цвета на фотографии сохраняли свою нейтральность.
  • Координаты цветности сенсоров должны определяться для каждого спектрального состава освещения отдельно. Если мы поправляем влияние цвета освещения только балансом цветов, то получаем несколько искажённые цвета. Чем глаже спектр освещения, тем меньше ошибка.
  • Из-за разницы спектральных чувствительностей сенсоров и рецепторов даже при правильном воспроизведении нейтральных цветов насыщенные цвета оказываются немного не такими, как должны быть. Например, голубой может получиться чуть зеленее или чуть синее. Эту ошибку нельзя исправить ни цветовым балансом (ведь ошибка только в одном цвете, а баланс меняет все цвета) ни изменением координат цветности основных цветов сенсоров.

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

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

В него вошли образцы цветов наиболее важных для фотографа предметов: цвета кожи, листвы, неба и т.д. Обратите внимание, я написал, образцы цветов. А нужны ведь образцы спектров! Я же выше не раз писал, что цвет определяется спектром. Возможно, создателям набора удалось повторить спектры отражения этих важных предметов? Сильно сомневаюсь. Тогда бы их маркетологи завалили бы нас именно спектрами, убеждая, что они у них самые лучшие. Как бы то ни было, но цвета подобраны и такие наборы можно купить. По ссылкам в введении можно детально ознакомиться с процессом калибровки. Суть её заключается в том, что набор фотографируется при нужном освещении и по результатам съёмки определяются координаты цветности основных цветов матрицы, которые записываются в цветовой профиль (ICC) изображения вместо заводского профиля камеры. Если судить по объективным колориметрическим измерениям Сергея Щербакова, для обычных источников света результаты получаются примерно такими же, как и при использовании заводского профиля. Но при необычных освещениях выигрыш может быть и более существенным.

При этой калибровке результаты записываются в цветовой профиль и исправляться могут только все цвета сразу. Но вот по ссылке "Профилирование цифровых камер. DNG профили и их отличия от ICC. Применение Colorchecker 24" рассказывается уже о другом способе калибровки, выходящем за рамки только коррекции цветового профиля. Там же приводится и внушительный пример такой коррекции. Первый снимок сделан при люминесцентном освещении и на нём во всей красе мы видим влияние зелёной линии излучения ртути:

Вторая картинка демонстрирует использование специальной коррекции цветов в конвертере RPP:

Хорошо видно исправление зелёного оттенка кожи и волос.

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

А все ли искажения цвета надо устранять? Допустим, мы снимаем при освещении лампами накаливания. Без исправления или использования специального конверсионного фильтра, снимок получится жёлтым. Правильно, там ведь было жёлтое освещение и вся сцена была жёлтой. Но в памяти она осталась не жёлтой, а нормальной. Дело в том, что смотрим мы не только глазами, но и мозгом. По сути, сетчатка глаза, это отросток мозга. Обработка изображения в мозгу очень сильна. В частности там происходит цветовая адаптация. Т.е. разбаланс цветов исправляется автоматически. Это происходит не мгновенно, а примерно за десяток секунд. Хорошо, тогда что нам мешает снять честную жёлтую фотографию, и посмотреть на неё пол минуты? Не поможет. Увы, кадрируя окружающее нас пространство, мы неизбежно искажаем его. Смысл того, что происходит в кадре может меняться на противоположный в зависимости от того, где мы проведём рамку. Точно так же, границы кадра неизбежно искажают цвет. В частности цветовая адаптация на фотографии перестаёт работать. Вместо этого наше зрение адаптируется к окружающему нас освещению. Поэтому мы вынуждены менять цветовой баланс изображения искусственно так, чтобы изображение в новых условиях смотрелось так же, как это было при съёмке. Или как нам хочется :)

------------
Обсудить в конференции