К вопросу о коррекции фотографий

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

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

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

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

Вторая крайность — глянцевая коррекция, — строго говоря, преследует совершенно определенные цели. Рекламщику абсолютно не нужно показывать, например, ВАЗовскую «десятку» во всей, так сказать, красе, ему требуется привлечь к этой самой «десятке» внимание и впарить ее как можно большему количеству развесистых лопухов. После перемещения денег из кармана в карман никого не будет интересовать недоумение покупателя по поводу несхожести купленного объекта со сверкающим чудом на глянцевой фотографии: задача выполнена, товар продан, остальное — шелуха. И хотя глянцевая коррекция как таковая в большинстве случаев есть задача нетривиальная и лично для меня представляющая немалый профессиональный интерес, тем не менее считаю, что ей место в рекламе, и нигде более. Иллюзия жизни, которую создают фотошопные чудеса пластической хирургии, действует на человеческую психику не лучшим образом.

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

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

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

Улучшить можно любую фотографию. Хотя бы автоматами, зашитыми в любую программу обработки графической информации — AutoLevels, AutoContrast, AutoColor и так далее, этим автоматам несть числа. Однако они все обладают одним недостатком — общей тупостью. Принцип действия всех подобных автоматов состоит в том, что они отыскивают на изображении точки, которые по их мнению должны быть белой и черной, и раскладывают цвета и оттенки в изображении в соответствии с этими представлениями. Беда в том, что истинная белая точка в изображении может быть вовсе не белой. Пример — яркий блик на фонаре модели самолета при в целом достаточно темном (из-за недостаточной экспозиции) кадре — автомат в этом случае ухватится не за ракету на подвеске, которая должна бы быть белой, а за этот самый блик, который тут вообще ни при чем.

Теперь о цифрах. Цифровой метод коррекции изображений так популярен именно потому, что он надежно дает достоверные результаты при почти любом оборудовании — нет необходимости калибровать монитор в начале каждого рабочего дня, как рекомендуют почитатели визуальной коррекции. Однако для успешного применения этого метода надлежит в общем виде представлять себе, что такое цвет в цифровом представлении. Говоря языком математически строгих определений, в цифровом виде каждый данный конкретный цвет представляется n-мерным набором координат в избранном цветовом пространстве. На самом деле все далеко не так страшно, как кажется. Цветовое пространство RGB, в котором работает подавляющее большинство компьютерных мониторов и цифровых камер, однозначно определяет цвет как набор из трех значений цветовых составляющих (каналов): R — красный, G — зеленый и B — синий, причем значения каждого канала могут меняться в промежутке от 0 до 255. Цветовое пространство CMYK, предназначенное для полиграфического воспроизведения изображений, определяет цвет как набор из четырех значений: голубой Cyan, пурпурный Magenta, желтый Yellow и черный K, причем значения каналов могут меняться в промежутке от 0 до 100. Таким образом, например чистый красный цвет в цветовом пространстве RGB будет выглядеть как (255; 0; 0), в цветовом пространстве CMYK — как (0; 100; 100; 0), зеленый как соответственно (0; 255; 0) и (100; 0; 100; 0), а синий как (0; 0; 255) и (100; 100; 0; 0). Надеюсь, принцип понятен. Во всем остальном очень легко разобраться, осмысленно повозив фотошопной пипеткой по какой-нибудь цветной картинке и глядя при этом на цифры в палитре Info.

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

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

Начну с фотографии, предоставленной почтеннейшим Кошкером.
2

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

Очевидно, что красный канал имеет максимум плотностей в области светов и в целом смещен в света, зеленый более-менее на месте, синий выше где-то 55% светлоты вообще отсутствует — я выиграл, корова моя. Очевидно также, что истинно белая и истинно черная точки съехали со своих мест, причем неравномерно по каналам, чем и объясняется искаженная цветопередача. Вот иллюстрация:
4

Ну что ж, приступим к коррекции. Для начала найдем истинно белую и истинно черную точки. Это можно сделать с помощью инструмента Threshold:
5 6

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

Отменяем операцию и приступаем к работе. Нам потребуется инструмент Curves:
9 10

Суммарный RGB-канал нам не потребуется, так что сразу пойдем в цветовые каналы. Для начала поканально вернем истинно белую и истинно черную точку на их законные места, для этого переместим начальные и конечные точки кривых в края областей ненулевых значений на гистограммах:
11 12 13

Стоит обратить внимание на то, как изменились показания в палитре Histogram. Очевидно, что продемонстрированная операция растягивает динамический диапазон картинки на всю область яркостей и в принципе подравнивает цветопередачу. Этой операции было бы достаточно, кабы камера не врала еще и внутри каналов. Проверим, насколько мы преуспели. Гистограммы нам уже не потребуются, переключаемся на палитру Info:
14

Цифры, которые мы видим в палитре, представляют собой цифровое представление цвета в двух цветовых пространствах — RGB (слева) и CMYK (справа). Проверим белую и черную точки — пипеткой пройдемся над верхней частью бортового номера и над покрышкой носового колеса:
15 16

Значения CMYK и RGB в обеих точках говорят о том, что истинно белый и истинно черный цвета обретены. Однако все остальное еще вызывает некоторые сомнения.

Как я уже говорил, я намеренно взял исходные фото у коллег исключительно ради чистоты эксперимента. Модель, изображенную на этом фото, я живьем не видел и представления не имею, как должен выглядеть камуфляж авиации Израиля. Однако даже на этой фотографии есть пара участков, относительно цвета которых любой человек, хотя бы поверхностно знакомый с темой, может судить абсолютно уверенно. Это цвет шестиконечной звезды национальных опознавательных знаков и цвет картона, на котором стоит модель. Звезда Давида обязана быть синей без фиолетового оттенка, следовательно, в цветовом пространстве CMYK в звезде содержание канала C должно по меньшей мере на 20% превышать содержание канала M, и оба эти значения должны существенно превышать значения остальных двух каналов. Проверим, какого цвета звезда на практике:
17

Так и есть — голубого в ней около 90, пурпурного около 60, что дает веские основания предполагать, что звезда действительно синяя и не имеет фиолетового оттенка, за который отвечает канал M, содержание черного канала равно нулю, а желтый достаточно мал (порядка 20), чтобы не искажать общую картину. Отлично.

Теперь перейдем к картону. Судя по внешнему виду и фактуре, это какой-то упаковочный гофрокартон. Такого рода картоны обычно имеют светлый желто-коричнево-серый цвет, сходный с песочным. Такой цвет в выражении CMYK получается при превышении содержания желтого канала над всеми остальными, при этом содержание канала M должно быть несколько выше, чем содержание канала C. Проверим.
18

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

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

Забавно. Цифры говорят о том, что эти полосы вообще-то темно-синие. Именно так интерпретируется 90%-й канал C, 80%-й M, заниженный относительно них обоих желтый Y и довольно высокий черный K. Повторяю, мне не известны цвета и оттенки израильского камуфляжа, но мне как-то очень трудно предположить, что эти полосы на самом деле синие, очень уж дикое сочетание получается — песочный с синим. Осмелюсь предположить, что на самом деле цвет темных полос, конечно, достаточно темный и скорее всего с синеватым оттенком, но все-таки зеленый. Следовательно, в этом цвете содержание желтого канала сейчас занижено, а содержание пурпурного — завышено. По логике вещей для получения зеленого цвета цифры желтого Y и пурпурного M должны бы поменяться местами. Попробуем это сделать. Щелкнем пипеткой на темной полосе. На кривой появится точка, обозначающая место, где именно находится этот участок.
21

Добавим чуть-чуть зеленого канала в RGB (ну там же зеленого не хватает, верно?).Приподнимем точку, обозначившуюся на кривой зеленого канала, на 10%. Результат налицо:
22

Однако кривая уехала вверх вся, и нам не мешает проверить уверенно опознанные цвета вроде цвета картона.
23 24 25

Мда. Очевидно, что вся остальная картинка съехала в зелень — цифры свидетельствуют именно об этом. Придется все это добро вернуть на место.
26

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

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

Вообще говоря, на абсолютно любой внятной фотографии абсолютно любой человек способен найти цвета, поддающиеся четкому опознанию и определению. Какого цвета, например, листва на дереве? Какого цвета небо? Какого цвета звезды на крылеМиГ-3? Очевидно, что, если мы видим на фото дерево с красной листвой, желтое небо или синюю звезду на киле советского истребителя, то с этой фотографией что-то не так. Из этих четко опознаваемых цветов и следует исходить, принимаясь за коррекцию фото.

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

Дефекты съемки тоже видны безоружным глазом — снимок попросту недоэкспонирован. Судя по тому, что предположительно белый цвет (ракета и ПТБ или что оно там есть на подвеске) выглядит достаточно нейтрально:
29

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

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

Ну что ж, приступим. Для начала при помощи Threshold определимся с истинно белой и истинно черной точкой.
33 34

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

Проверим состояние картинки:
38 39 40 41

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

Детали сохранены по максимуму.

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

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

И да, в кадре еще присутствует дата съемки, нанесенная незамутненным белым цветом. Любой корректирующий автомат ухватился бы именно за эту белую точку, и это была бы ошибка. Кто не верит — пусть пробует, случай ровно тот же, что и с бликом, о котором я говорил выше. Мне же очевидно, что фото имеет явственный желтый оттенок, что говорит о том, что в светах и в средних значениях яркости наблюдается избыток красного и зеленого и недостаток синего каналов. Посмотрим, так ли это:
45

Очевидно, что и тут я угадал. Посмотрим, что здесь можно сделать.
46

Очевидно, что истинно белая точка должна находиться не на упомянутых выше белых деталях, а в месте пайки проводов. Для начала инструментом Curves вернем белую точку на надлежащее место.
47 48 49

Цифры говорят о том, что и черная, и белая точки обрели свое истинное место. Посмотрим, что еще удастся опознать. Подставкой спичечному коробку, на котором возлежит подсборка, служит предмет, подозрительно напоминающий побитую хоккейную шайбу. Спичечный коробок и невнятная деревянная колобаха на заднем плане тоже могут служить условными опознавателями.
50 51 52 53 54

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

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

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

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

Так вот примерно. Спасибо за внимание.

Источник