Коррекция цвета в Lab. Ещё один способ.

Nov 14, 2012 21:27


Многие из нас в той, или иной степени используют при обработке возможности цветового пространства Lab.
А слышали о нём практически все.

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

Сегодня я опишу ещё один, менее распространённый и очевидный способ манипуляций с цветом в пространстве Lab.



Попутно мы вспомним концепцию многослойного неразрушающего редактирования изображений, применение команды Apply Image, а также работу со Smart-объектами.


Урок создан на примере Photoshop CS 6. Некоторые нюансы интерфейса в предыдущих версиях могут не работать, либо отличаться.

На рис. 01 изображена очаровательная модель, которой делают макияж на конкурсе маникюра, в рамках выставки "Estet Beauty Expo 2012" в Киеве.

рис. 01.


Проанализируем картинку.
Цветовое пространство - sRGB.
Общий цветовой баланс меня удовлетворяет. Его трогать не будем.
Специфика освещения такова, что цвет лица девушки получился достаточно бледным, а на правой (относительно нас - левой) части её лица присутствуют синеватые рефлексы.

Задача на обработку: устранить или ослабить холодные рефлексы слева, деликатно усилить насыщенность и разнообразие цветовых оттенков лица.

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

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

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

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

Это:
1. правая скула и щека девушки;
2. подбородок;
3. шея.

В силу этого для каждой из них будем создавать отдельный слой.

Покажу это детально на примере первой области.

рис. 02. Над нижним слоем с исходником создадим пустой слой, задав для него режим наложения Color:



В соответствии с концепцией многослойного редактирования, назовём этот слой "скула и щека".
Нажав клавишу [B], выберем инструмент кисть (brush), и зададим для него очень низкую интенсивность воздействия (Opacity = 3%):

рис. 03.


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

рис. 04.


Осталось выставить остальные параметры кисти: Hardness (жёсткость краёв) и размер.
Для этого, при активном инструменте Brush, делаем правый клик.
Открывается окно:

рис. 05.


Для нашего случая я бы выбрал мягкую кисть: величина Hardness около 30%.
А вот размер кисти в данном окне выставлять не стоит, т.к. этот способ начисто лишён наглядности.

Размер кисти можно изменять клавишами "[" (уменьшение), и "]" (увеличение).
При этом результат можно визуально соотносить с областью, которую предстоит обрабатывать:

рис. 06.


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

Есть ещё один наглядный способ изменять размер кисти (кажется, он появился только в CS6).
Если, удерживая нажатыми одновременно [Alt] и правую кнопку мыши, двигать мышью в произвольном направлении, то размер кисти будет меняться.
На экране при этом виден не только сам кружок кисти, но и цифровые значения его параметров:

рис. 07.


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

Степень внесённой коррекции контролируем "промигиванием" слоя "скула и щека" (рис. 02).
Заканчиваем обработку тогда, когда внесённые изменения несколько сильнее, чем следует.

Аналогично обрабатываем оставшиеся две области: подбородок и шею.
Для каждой из них создаём отдельный слой с режимом наложения Color и соответствующим названием.

Когда все три области обработаны, объединяем эти слои в группу, которую называем "Skin_color_correct_brush".
Упоминаем в названии кисть, т.к. далее будем корректировать цвет уже без ее применения.

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

Я остановился на следующих значениях:

рис. 08.


Я советовал заканчивать "окраску" каждого участка с некоторым перебором, так как итоговая регулировка непрозрачности отдельных слоёв позволит гармонизировать результат.

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

В этих случаях лучше поступать по другому.
Продемонстрирую сказанное на примере установки непрозрачности группы "Skin_color_correct_brush".
Вместо того, чтобы открывать окошко регулировки величины Opasity, можно поместить курсор на само название параметра.
При этом курсор изменит вид, как показано на рис. 09:

рис. 09.


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

На этом первый этап нашей коррекции - устранение холодных рефлексов на правой стороне лица девушки, можно считать законченным.

2. Переходим ко второму этапу: деликатно усилить насыщенность и разнообразие цветовых оттенков лица.

Поскольку для решения задачи предполагается посещение цветового пространства Lab, то посвятим ему несколько строчек:
[Немного информации о структуре Lab для тех, кому это нужно.]
1. в Lab информация о яркости и цвете полностью разделена
2. информация о цвете, в отличие от RGB, кодируется не 3-мя, а 2-мя цифрами: "a" и "b".
3. яркость (L) и вовсе определяется одной цифрой (в процентах, от 0 до 100)
4. все нейтральные объекты имеют в Lab цветовые координаты a=0 и b=0, что весьма удобно при анализе.

Представление цвета в Lab организовано таким образом: цветовая плоскость образуется пересечением двух взаимно перпендикулярных цветовых осей: "a" и "b".
Каждая из них отвечает за соотношение в итоговом цвете двух противоположных (оппонирующих) оттенков:

- ось "a" - за соотношение Magenta и Green;
- ось "b" - за соотношение Yellow и Blue.

В этих парах первые: (Magenta и Yellow), соответствуют положительным значениям (тёплые оттенки).
Вторые: (Green и Blue) - отрицательным (холодные оттенки).

рис. 10.


Нейтральному соответствует только точка пересечения этих осей.
Начало отсчёта - "0", находится посередине, а "краевые" значения цвета: -128 для "холодных" оттенков, и +127 - для "тёплых" оттенков.


Мы планируем использовать некоторые свойства Lab, но наше изображение пока находится в sRGB.
Как же быть?

Первое, что приходит в голову - конвертировать изображение в Lab командой Edit → Convert to Profile..., задав в качестве целевого пространства Lab.
Более того, в данном конкретном случае можно так и поступить.

Но нас интересуют общие подходы, по возможности, не привязанные к конкретному примеру.
Конвертация из одного пространства в другое влечёт за собой исчезновение корректировочных слоёв.
Скажем, если бы мы на первом этапе применили Curves, Levels или Color Balance, то при конвертации в Lab Photoshop "съел" бы эти слои.
Картинка при этом не изменится, т.к. их влияние на изображение будет учтено при конвертации.

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

Это противоречие решается благодаря применению т.н. Smart-объектов, о которых я достаточно подробно писал ранее.
Кому лень ходить по ссылке: Smart-объект - это файл в файле.
Внутри него мы можем конвертировать что угодно и во что угодно. Это никак не нарушит структуру основного PSD-файла.
Результат этой "внутренней" коррекции автоматически будет передан во внешний PSD-файл, причём Photoshop самостоятельно приведёт его к цветовому пространству внешнего файла.

Чтобы создать нужный нам Smart-объект, создадим над уже имеющейся структурой слоёв (см. рис. 09) ещё один, который является суммой всех, ранее созданных.
Для этого, сделав активной группу "Skin_color_correct_brush" (см. рис. 09), нажав и удерживая нажатым [Alt], через меню выполним команду Layer → Merge Visible.
Над нашей послойной структурой возникнет новый, суммарный слой, который мы назовём "merged layer":

рис. 11.


Осталось превратить его в Smart-объект.
Через меню выполним команду: Layer → Smart Objects → Convert to Smart Object.
Верхний слой структуры будет конвертирован в Smart Object, что отобразится в палитре Layers следующим образом:

рис. 12.


Двойной щелчок по верхнему слою откроет его, как новый файл, в котором на данный момент есть только один слой: "merged layer".
Теперь можем спокойно конвертировать его в пространство Lab: Edit → Convert to Profile..., задав Lab в качестве целевого пространства.
Всё подготовлено для дальнейшей коррекции.

Теперь давайте пофантазируем, что будет, если в Lab наложить цветовые каналы сами на себя в режиме Overlay?

Для тех, кто "не в теме", звучит достаточно бредово. Но давайте попробуем разобраться.

Цветовой канал в Lab - это Ч/Б изображение, практически всегда малоконтрастное.
Нейтральные для данного канала пикселы имеют я нём яркость 128.
Тёплые тона - будут ярче среднего значения 128, а холодные - темнее:

рис. 13.


рис. 14.


Что же будет, если наложить такой канал сам на себя в режиме наложения Overlay?
И как это скажется на нашем изображении?

Интересующее нас наложение на понятном почти всем языке кривых, выглядит так:

рис. 15.


Для тех, кому всё же непонятно, озвучу график словами.
Итак, при наложении картинки самой на себя в режиме Overlay происходит следующее:

1. Пикселы, имевшие яркость 128, останутся без изменений.
Учитывая специфику Lab, это означает, что то, что было нейтральным по цвету, таким же и останется.
Т.е. баланс белого не сместится, и нас это в данном случае устраивает.

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

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

[Для самых дотошных: наглядная иллюстрация специфики режима наложения Overlay]
Наглядная иллюстрация специфики режима наложения Overlay.

Анимированная картинка (рис. 16) состоит из 3-ёх кадров:
  1. №1. Обычный чёрно-белый градиент.
  2. №2. Результат наложения этого градиента самого на себя в режиме Overlay.
  3. Разница (Difference ) между 2 и 1 (с увеличенным для наглядности контрастом).
рис. 16.


Последний, разностный кадр, наглядно демонстрирует, в каких частях тонального диапазона при Overlay-наложении картинки саму на себя воздействие максимально.

(чем разница 1 и 2 больше - тем светлее эта область на 3-ем слайде).


Как известно, критерий истины - это практика.
Реализуем все описанное.

Внутри нашего Smart-объекта создадим две копии исходного "merged layer".
Не мудрствуя лукаво, назовём эти слои "a" to "a" overlay и "b" to "b" overlay:

рис. 17.


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

Ответ должен быть очевиден для тех, кто внимательно прочёл описание первой части статьи.
Реализация коррекций в цветовых каналах "a" "b" в виде отдельных слоёв, позволит нам в дальнейшем, путём регулирования их непрозрачности, в максимальной степени гибко гармонизировать итоговый результат.
Концепцию "разделяй и властвуй" придумали умные люди.

Теперь нужно обеспечить, чтобы слой "a" to "a" overlay оказывал влияние только на канал "a", а слой "b" to "b" overlay - только на канал "b".
Двойной клик на каждом из них откроет окно регулировки параметров наложения слоя:

рис. 18.


Красная рамочка выделяет три чекбокса, которые определяют, на какие каналы изображения будет влиять данный слой.
Для слоя "a" to "a" overlay мы оставляем галочку только в канале "a" (см. рис. 17), а для слоя "b" to "b" overlay - только в канале "b".

Взглянув после этого в палитру Layers, мы увидим две пиктограммы, которых раньше не было.
Они выделены красной рамкой на рис. 19:

рис. 19.


Эти пиктограммы означают, что для соответствующего слоя была выполнена тонкая регулировка параметров наложения.
Давно ожидаемое мной новшество!

Приступим непосредственно к наложению слоёв.
Для этого воспользуемся командой Image → Apply Image...

Данная команда позволяет взять нечто в одном месте, и поместить его в другое.
Попутно задав режим наложения и/или непрозрачность.
Главное, чтобы эти "одно и другое" имели одинаковый размер в пикселах.

Мы хотим наложить цветовые каналы сами на себя.
Подробно опишу процесс на примере канала "a".
Для применения Apply Image, сначала нужно стать туда, куда мы будем вставлять.
С самого начала мы оговорили, что воздействие на канал "a" будет осуществлять слой "a" to "a" overlay.
Сделаем его активным:

рис. 20.


Затем в палитре Channels сделаем активным целевой канал "a":

рис. 21.


После этого вместо нашей картинки мы увидим следующее:

рис. 22.


Так и должно быть. В настоящее время у нас активен только канал "a", на который мы хотим воздействовать.
Именно его Photoshop нам и показывает.
Но как же работать дальше? Ведь мы будем манипулировать с цветом.
Для "дозировки" воздействия нам просто необходимо видеть полноцветное изображение!

Именно в таких случаях в полной мере проявляется мощь и многогранность интерфейса Adobe Photoshop!

В палитре Channels щёлкнем по пиктограмме глаза в композитном слое (выделено красной рамкой):

рис. 23.


Теперь Photoshop показывает нам полноцветное изображение, а активным остаётся только канал "a", что нам и нужно.

Вызываем команду Image → Apply Image...
Открывается окно с её интерфейсом, а наша красавица неожиданно зеленеет.
Причина этого - режим наложения Multiply, умолчательный для команды Apply Image:

рис. 24.


Меняем его на Overlay, цвет нормализуется, и мы сразу видим увеличение цветовых контраста и насыщенности по оси "a" (Magenta - Green).
Следим за тем, чтобы в секции Source стояло "Channel: a" (он ведь накладывается сам на себя).

рис. 25.


Повторим наши действия для второго цветового канала.
Сделаем активным слой "b" to "b" overlay, затем в палитре Channels активируем канал "b", после чего щелкаем по глазку композитного слоя.
Вызываем команду Image → Apply Image...
В данном случае увеличение цветовых контраста и насыщенности будет по оси "b" (Yellow - Blue):

рис. 26.


На рис. 25 и 26 видно, что интерфейс команды Image → Apply Image... позволяет сразу же задать непрозрачность наложения.
Но я этого не сделал, несмотря на явную избыточность внесённой коррекции для обоих слоёв.
Сейчас мы это сделаем гораздо более наглядным способом.

Объединим оба корректирующих слоя в группу под названием "all corrections":

рис. 27.


Распределение функций в этой структуре таково:

- слой "a" to "a" Overlay отвечает только за коррекцию в цветовом канале "a";
- слой "b" to "b" Overlay отвечает только за коррекцию в цветовом канале "b".

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

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

Я остановился на следующих значениях:

рис. 28.


Мы закончили всё, что планировали внутри Smart-объекта.
Чтобы результат этих манипуляций стал доступен в исходном (верхнеуровневом) PSD-файле, внутри Smart-объекта обязательно нужно сохраниться, нажав [Ctrl+S].
После чего закрываем окно Smart-объекта и возвращаемся в исходный PSD-файл.

Он как был, так и остался в пространстве sRGB.
Photoshop автоматически приведёт содержимое Smart-объекта к цветовому пространству внешнего файла.
В духе концепции многослойного редактирования, переименуем Smart-объект в "Lab color channels Overlay".
Теперь палитра Layers и итоговая картинка выглядит так:

рис. 29.


3. Резюме.

1. Уверен, многие подумают: господи, а зачем так сложно?
Второй этап коррекции я в два счёта сделаю с помощью Curves/Levels/Hue-Saturation/Vibrance/Color Balance ... (лишнее зачеркнуть).
А все эти переходы между пространствами - и вовсе полная ерунда!

Постараюсь сразу ответить:

- Lab позволяет получить более качественные результаты, когда мы хотим воздействовать только на цвет;
- Lab, в силу специфики своей структуры, позволяет разделять близкие цветовые оттенки. В RGB это проблематично.

Еще могут спросить: хорошо, с Lab всё понятно. Но почему мы, попав в него, начали манипулировать с каналами, а не ограничились работой с кривыми?

Отвечаю: действительно, кривые обладают максимальной гибкостью, и вполне позволили бы решить поставленную задачу.

Однако, есть ряд моментов:
- работа с кривыми в пространстве Lab заметно отличается от привычной работы с кривыми в RGB;
- в Lab картинка очень резко реагирует на любые манипуляции с кривыми, что непривычно для многих, особенно - начинающих;
- работа с кривыми эффективна, когда мы заранее знаем, к чему стремимся. Например - выставление чёрной, серой и белой точек по Маргулису.
В нашем случае такой ясности нет.

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

2. Приведенные мной итоговые параметры не являются единственно верными.
Любой легко и быстро сможет подобрать иные значения в соответствии со своим личным вкусом.

3. Описанный приём применим не только для портретов.

4. Подробное описание метода занимает достаточно много места.
Однако, собственно Lab-коррекция легко автоматизируется.
Коротенький action почти мгновенно создаёт описанный Smart-объект, в нём - соответствующие слои, с заданными названиями и параметрами наложения.
Вручную остаётся только подобрать итоговые значения непрозрачности слоёв и группы для получения гармоничного результата.
Что занимает максимум 2 - 3 минуты.
Данный action создан и доступен для скачивания по ссылке ниже.

Позволю себе несколько реплик о том, почему я пишу именно так, а не иначе :о))

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

2. Мощь Photoshop заключается, в том числе, и в том, что практически любую задачу можно решить многими способами.
Каждый из которых имеет свои плюсы и минусы.
Я выбираю из них те, которые позволяют мне описать запланированное (см. п. 1).
В каких-то моментах этот выбор может быть не самым оптимальным.

3. Как и все мы, я не являюсь единственным носителем истины.
И вполне могу сам чего-то не знать.

уроки, статьи, цифровая обработка, lab, photoshop

Previous post Next post
Up