понедельник, января 16, 2012

Подход к обработке одного портрета

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

Я люблю снимать портреты, наверно, больше чем всё остальное. Еще больше я люблю снимать своих родственников. Эта любовь к портретам, родственникам, плюс то обстоятельство, что на ДР супруги было приобретено интересное украшение привели к тому, что поддавшись на мои уговоры супруга согласилась поработать для меня моделью.

В нашей квартире, на фоне темно-зеленых штор, примерно с такой световой схемой,  я отснял около 160 кадров:

Рис. 1.

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

Из получившихся кадров была выбрана наиболее понравившаяся фотография, с которой предстоит поработать в darktable:

Рис. 2.

Попутно было выяснено, что один из элементов украшения(цветок) незаметно перевернулся при съемке:

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

Перехожу в режим lighttable, корректирую экспозицию(движок exposure одноименного плагина) таким образом, чтобы гистограмма слева и справа чуть-чуть упиралась в края. После этого изменяю цветовой баланс так, чтобы картинка стала чуть менее теплой(движок temperature out плагина white balance):

Рис. 4.

Экспортирую результат в файл, который в дальнейшей работе будем считать "нормальным". После этого делаю еще два варианта этой картинки изменяя экспозицию на +1 и -1. Назовем полученные варианты соответственно "светлым" и "темным":

Рис. 5.
Рис. 6.


Этап 0. Выравнивание освещенности и ретушь украшения

Открываю "нормальный" вариант в GIMP(File->Open...). Для большей информативности сразу называю единственный слой Background именем файла.

Открываю "темный" и "светлый" варианты как слои(File->Open as Layers...). Так же переименовываю слои.

Вот какие слои получаются в итоге:

Рис. 0.1

Примечание: в именах всех слоёв первая цифра -- номер этапа обработки.

Добавляю к "темному" и "светлому" слоям черные маски(Layer->Mask->Add Layer Mask...->Black (full transparency)). Выбираю инструмент Кисть(Tools->Paint Tools->Paintbrush) с мягкими краями. Варьируя кисти разного размера и их прозрачность прорисовываю на маске "темного" слоя тени, а на маске "светлого" блики:

Рис. 0.2 (анимированный gif)

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

Рис. 0.3

Добавляю к слою с цветком белую, "непрозрачную" маску и аккуратно, рисуя черной кистью по маске, изолирую цветок от окружающей его кожи. Получается вот так:

Рис. 0.4

Инструментом Штамп(Tools->Paint Tools->Clone) заменяю остатки перевернутого цветка подходящими по цвету и свету заплатками из окружающей кожи:

Рис. 0.5

Единственное, чего не хватает теперь для правдоподобия -- тени от цветка на коже слева. копирую слой с цветком и на получившейся копии применяю маску к слою(Layer->Mask->Apply Layer Mask). Затем, для этой же копии слоя с цветком несколько раз запускаю фильтр Drop Shadow(Filters->Light and Shadow->Drop Shadow...) с разными настройками для того чтобы подобрать правдоподобную тень. Получаю слой с нравящейся тенью от цветка, удаляю слой-копию цветка и перемещаю тень под оригинальный слой с цветком. Корректирую прозрачность слоя-тени так, чтобы тень органично вписывалась в картинку.

Вот, как выглядит картинка и слои в итоге:

Рис. 0.6

Уже похоже на правду. Выбираю пункт меню Layer->New from Visible для того, чтобы создать новый слой результирующий всю нашу предыдущую работу. Кликаю левой кнопкой мышки с нажатой клавишей Shift, для того, чтобы в изображении был виден только этот новый слой:

Рис. 0.7

Посмотрим, как изменилась наша картинка:

Рис. 0.8 (анимированный gif)


Этап 1. Ретушь мелких дефектов кожи и перекраска сильно отличающихся по цвету участков.

Создаю новый прозрачный слой(Layer->New Layer...->Transparency).

Рис. 1.1

Выбираю инструмент Штамп(с включенной галочкой Source->Image->Sample merged) для того, чтобы источником служило все видимое изображение(т. е. изображение получающееся путем сложения всех видимых слоев) и минимально-приемлемой кистью, размером примерно с фрагмент текстуры кожи, начинаю замещать мелкие дефекты кожи.

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

Рис. 1.2

Вот сравнение состояния кожи до и после ретуши:

Рис. 1.3 (анимированный gif)
Настало время для изменения цвета участков кожи, которые достаточно сильно отличаются от основного тона. Для этого создаю новый прозрачный слой, устанавливаю для него режим(Mode) Hue, выбираю пипеткой цвет с понравившегося участка кожи и, меняя прозрачность кисти, закрашиваю те участки, цвет которых мне не нравится. В итоге, получается нечто такое(масштаб 100%) :

Рис. 1.4 (анимированный gif)

Как и в конце предыдущего этапа создаю слой, содержащий все сделанные мной изменения:

Рис. 1.5




Этап 2. Частотное разложение.

Находясь на последнем созданном мной слое запускаю фильтр Layer->Simple Wavelet Decompose с радиусом 10. В результате работы фильтра у нас добавляется три слоя:

Рис. 2.1

Добавляю к слоям swdHighPass и swdResidue маски(все равно какие), вырезаю в буфер верхний слой swdCheck128, копирую его, попутно инвертируя(Colors->Invert), в маски нижележащих swd-слоев, для этого выбираем нужную маску, вставляем в нее скопированный слой(ctrl+V) и "прикрепляем" его(ctlr+H). После всех этих манипуляций слои у меня выглядят так:

Рис. 2.2

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

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

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

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

После создания уже ставшего традиционным "итогового" слоя список слоёв выглядят так:

Рис. 2.3

Посмотрим на разницу что у нас изменилось по сравнению с предыдущим этапом:

Рис. 2.4

Этапы 3, 4 и 5. Повышение контраста, дополнительные тени, добавление резкости.

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

На Этапе 3 я создал копию слоя 2-result и повысил контрастность этой копии при помощи плагина Lab curves. Вместо этого плагина можно использовать любой другой удобный  способ повышения контраста. Затем, я нарисовал маску для этого слоя для того, чтобы повысить контрастность только там, где счел нужным.

На Этапе 4 я создал копию слоя-результата предыдущего этапа, применил к ней Кривые(Colors->Curves) для того, чтобы сделать этот слой более темным и, как обычно, применил к этому слою маску, для того, чтобы затемнить верхние скулы модели.

На Этапе 5 я добавил локальной резкости при помощи плагина Filters->Enhance->Wavelet sharpen ... и маски. Таким же образом, как я уже описывал в пункте 5 здесь.

В итоге получились такие слои:

Рис. 7

Осталось скадрировать фотографию при помощи инструмента Tools->Transform Tools->Crop.

В заключение, анимированный gif, демонстрирующий результаты всех этапов:



Почитайте также:

Обработка портрета в Gimp 2 или Конкурс у podakuni
Обработка портрета в Gimp или Я его слепила из того, что было
Простое частотное разложение в GIMP
Потеря супер-контраста при частотном разложении

4 комментария:

Ameli K. комментирует...

Отличная статья! Все очень подробно и интересно.
Спасибо большое, буду пробовать и изучать ГИМП :)

Oleg Ivanenko комментирует...

Вам спасибо!

Приходите к нам еще :)

ЮрийМ комментирует...

1. Интересный урок. Как насчет того, чтоб вы отправили его сюда - www.progimp.ru и он принёс ещё больше пользы.

2. Использовали ли вы в своей работе вот эту программку для raw-файлов - http://rawtherapee.com/, для меня она стала находкой.

Успехов, ждем новых уроков

Oleg Ivanenko комментирует...

Добрый день, Юрий!

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

2. Я про rawtherapee знаю, немного исследовал, но darktable как-то, в итоге, лучше вписался в мой рабочий процесс.

Спасибо за пожелания! ;)