пятница, 18 июля 2008 г.

Замена фона в фотошопе (Выпуск 29)

"Замена фона" является одним из самых популярных запросов, по которым посетители приходят на данный блог. А меж тем замена фона подразумевает владение инструментами выделения в фотошопе. Знать в совершенство приёмы выделения - необходимый навык в арсенале микростокера: часто приходится изолировать предметку или просто создавать зрелищный коллаж. Данный туториал охватывает многие аспекты выделения: от самых простых, до самых виртуозных. Выделять фрагмент картинки - это как брать интеграл, сродни искусству: существует много способов, но лишь один из них наиболее подходящ.
Многим из нас приходилось не раз заниматься выделением сложных объектов: волосы, листва, - всё это непростая задача даже для экспертов фотошопа. Что уж говорить о новичках: "Лучше маскировать или стирать ластиком?", "Применить волшебную палочку или фильтр Extract?", "Создать контур пером или при помощи лассо?". И в конце концов мы прибегаем к той технике, к которой привыкли, игнорируя и теряя возможности других способов.

Задача

На входе имеем две фотографии: девочка, глядящая на лес, и городской пейзаж:
На выходе мы хотим получить девочку, глядящую на Manhattan downtown:

Читатайте также

A Comprehensive Introduction to Photoshop Selection Techniques

Использование стандартных иснтрументов выделения

Познакомимся с основными инструментами выделения в фотошопе
  1. Инструменты выделения
    Это базовые инструменты выделения. Просто выберите тип выделения (прямоугольное, овальное или пиксельное по горизонтали/вертикали) и мышкой растяните его поверх интересующей области.
  2. Лассо
    Лассо бывает простым, полигональными и магнитным. Используется для создания выделений сложной формы. Эти инструменты легки и быстры в использовании.
  3. Опции выделения
    Опции выделения необходимы для создания выделений сложной формы на основе уже имеющихся выделений: их можно объединять, вычитать друг из друга и пересекать.
  4. Меню выделения
    Различные операции над выделением можно проводить при помощи подпунктов меню Select. Например выделение можно инвертировать (Inverse). Можно равномерно растянуть на одинаковое количество пикселей во все стороны (Expand), или же наоборот равномерно уменьшить на одинаковое количество пикселей (Contract). Ещё границы выделения можно сделать более мягкими при помощи операции Feather. Наконец, можно воспользоваться операциями сохранения выделения (Save Selection) либо загрузки сохранённого выделения (Load Selection), упомянутыми выше.

Шаг 1: первый набросок

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

Шаг 2: отмечаем участки фона

Помимо существующих двух слоёв, нам нужно получить ещё семь слоёв из фотографии с девочкой: TopLeftTree, TopRightTree, MidLeft, Middle, MidRight, MidBottom, Foreground, как на рисунке ниже.
Для этого мы воспользуемся инструментом квадратное выделение и операцией Layer Via Cut (слой через вырезание). Например, если мы выделим область Top (содержащую TopLeftTree и TopRightTree) и сделаем слой через вырезание, то получим два слоя: один будет содержать только область Top, а второй - всё остальное. Для области Top аналогичным образом мы легко получим левую и правую подобласть. Затем выделим среднюю область. В ней по центру выделим Middle+MiddleBottom и сохраним выделение (Select->Save selection). Далее вырежем Middle и оставшуюся область поделим на MidLeft и MidRight. Наконец, загрузим выделение (Select->Load selection) и из нижней части снимка вырежем MidBottom. В остатке у нас получится Foreground. Результирующий стек слоёв будет выглядеть, как на картинке справа.

Шаг 3: цветовой интервал

На этом шаге мы попробуем выделить листву в левом верхнем углу при помощи цветового интервала. Оставьте видимым только слой TopLeftTree. Выберите Select->Color Range. Эта функция подобна инструменту "Волшебная палочка" (Magic Wand), поскольку создаёт выделение на основе цвета, но с большей степенью контроля. Выберите параметр Fuzziness в районе 20 и ткните пипеткой по тёмной части листвы. Затем выберите пипетку с плюсиком и покликайте по более светлым участкам листвы. Это добавит к выделению новые области. Для лучшего просмотра выделенной области в Selection Preview выберите опцию White Matte. Вы также можете вычесть из выделения ненужные области при помощи пипетки с минусом.

Шаг 4 - Модификация выделения и придание естественности

Если мигающее выделение раздражает вас, то можно перейти в режим ьыстрой маски при помощи клавиши Q. Этой же клавишей можно опять перейти к выделению.
На этом шаге мы придадим выделению естественность. Выберите Select->Modify->Expand 2 пикселя, а затем Select->Modify->Feather тоже 2 пикселя. Почему 2 пикселя? А вы попробуйте меньше и выполните действия до 5-го шага включительно.

Шаг 5 - Маска уровня

На этом шаге убедитесь, что слой TopLeftTree активен и выполните операцию Select->Layer Mask->Reveal Selection. Таким образом из выделенной области получится маска (чёрный прямоугольник с белым пятном, соответствующим выделению, на рисунке ниже). Попробуйте теперь включить видимость слоя с панорамой города и обратите внимание, как он выглядит естественно в качестве фона для левой верхней ветки.
Таким же образом можно выделить и ветки на слое TopRightTree.

Шаг 6 - каналы

Теперь обработаем участок MidLeft. Пусть только он теперь будет видимым в панели слоёв. На этот раз создадим выделение при помощи каналов. Синий канал в нашем случае имеет наибольшую контрастность, вот его мы и будем использовать. Мышкой перетащите его на иконку Create new channel (отмечено красным на рисунке ниже), в результате будет создан новый канал Blue copy.

Шаг 7 - уровни

Для увеличения контраста в копии синего канала воспользуемся уровнями (Ctrl+L). В частности, мы установили значения 37, 0.43, 81.

Неочевидные выделения

Сейчас мы перешли к тому этапу, когда обычным алгоритмическим применением инструментов фотошопа не обойтись.

Шаг 8 - загрузить выделение из канала

Из состояния, достигнутом на предыдущем шаге, перейдите в RGB канал и в палитру слоёв. Убедитесь, что выбран слой MidLeft и выполните Select->Load Selection. В выпадающем меню Channel выберите Blue copy. Отметьте галочкой Invert и нажмите OK. Таким образом вы создадите выделение на основе шкалы серого созданного канала.

Шаг 9 - собираем потерянные пиксели

Однако, созданное таким образом выделение не включает в себя светлые участки бревна на границе.

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

Шаг 10 - маскируем

Из выделения уровня можно быстро создать маску, нажав соответсвующий значок в самом ниху панели слоёв (отмечен красным на рисунке ниже). Сделайте видимым слой с панорамой города и насладитесь результатом. Если вам кажется, что маска получилась слишком резкая, нажмите на маску и поблюрьте её слегка (Filter->Blur->Blur more или Filter->Blur->Gaussian blur).

Шаг 11 - это прекрасное/ужасное перо

На этом шаге мы будем работать над слоем MidBottom. Выберите инструмент "Перо" (Pen Tool) и создайте путь, кликая в тех местах, где вы желаете поставить точки-якоря (anchor point). Для искривления отрезка между двумя якорными точками, поставьте между ними ещё одну якорную точку, нажмите Ctrl и потяните мышкой в нужном направлении. Поэкспериментируйте также с клавишами Alt и Shift.

Шаг 12 - от пути к маске

Когда ваш путь будет готов, нажмите правую клавишу мышки и из выпавшего меню выберите Make Selection. В открывшемся диалоговом окошке поставьте Feather Radius равным 0 и отметьте галочкой Anti-Aliased. Убедитесь, что выбран слой MidBottom и выполните Layer->Layer Mask->Hide Selection. При этом будет создана маска.

Шаг 13 - магнитное лассо

Выберите инструмент магнитное лассо. В панели сверху установите Feather = 0, Width = 10px, Edge Contrast = 10%, Frequency = 57 (настройки по умолчанию). Обведите при помощи магнитного лассо дырку в заборе правее.
Выберите маску, созданную на предыдущем шаге и заполните в ней выделение чёрным цветом (Edit->Fill).
В принципе, это же выделение вы можете легко и просто сделать пером.

Шаг 14 - волшебная палочка и пересечение выделений

Таким образом, в заборе у нас остались не проработанными левая верхняя и правая нижняя части. Левую нижнюю часть оставим без изменений.
Выберем магическую палочку и выставим для неё следующие параметры: Tolerance = 10, отменим галочку у Contiguous и выставим режим Add to Selection. Если вы оставите галочку у Contiguous, то вам придётся по сто раз кликать по различным частям картинки с одинаковым цветом, чтобы выделить всё, что нужно. При отсутствии же этой галочки волшебная палочка работает подобно цветовому интервалу: весь похожий цвет собирается по одному клику. Нам нужно "собрать" сероватый цвет, как на картинке чуть ниже.
Поскольку с нужными областями картинки выделяются и ненужные, например, платье девочки, то полигональным лассо нарисуем фигуру, как на рисунке ниже, предварительно выставив режим Intersect With Selection (отмечено красным на рисунке ниже).
При закрытии полигона выденными останутся лишь области, попавшие внутрь него. Используйте полученное выделение для заливки маски чёрным.

Шаг 15 - подчищаем

При увеличении маскированной картинки может оказаться, что в маску попали всё ещё нежелательные фрагменты от старого изображения. Поэтому придётся слегка подредактировать маску слоя MidBottom. Мягкой кисточкой чёрного цвета закрашиваем лишние пиксели. Можно также поставить параметры Opacity и Flow на 70%, чтобы не искажать сильно границы маски.

Магия и ещё раз магия

Шаг 16 - вошебный ластик

Теперь мы будем обрабатывать слой MiddleRight. На этот раз мы воспользуемся "деструктивными" инструментами, поэтому создадим копию слоя (Layer->Duplicate Layer). Оригинальный слой MiddleRight сделайте невидимым. Выберите инструмент "Магический ластик" (Tolerance=50, все галочки сняты: Anti-Aliasing, Contiguous, Sample Layers). Кликните по небу и холмам.

Шаг 17 - полируем

Всё ещё осталось немного мусора, от которого мы избавимся при помощи ластика для фона. Для него выберите Sampling = Once (отмечен красным на рисунке ниже), Limits=Discontinuous, Tolerance=55%. А теперь просто начните стирать, не отрывая руки. Sampling=Once запомнит цвет "мусора" и удалит вам его, не затронув остальные элементы. Иногда после первого прохода ластиком остаются странные "разводы" от удалённого мусора - повторный проход помогает их убрать. Либо просто аккуратно удалите из обычным ластиком.

Шаг 18 - поджигаем границы

Наконец, у самых границ мелких объектов могут ещё оставаться непонятные светящиеся ореолы. Выберите инструмент Burn Tool, поставьте его в режим Highlights с экспозицией 100% и аккуратно поводите по наиболее светящимся местам - они будут приглушены.

Последние штрихи

Шаг 19 - естественная насыщенность

Если вы посмотрите на выделенные ветки слоя TopRightTree, то заметите, что они неестественно насыщенны по сравнению с нижней частью правого дерева. Чтобы исправить это положение, удебившись в активности слоя TopRightTree, выполните Layer->New Adjustment Layer->Hue/Saturation. В открывшемся диалоговом окне поставьте галочку напротив Use Previous Layer to Create Clipping Path. В результате коректирующий слой затронет только слой TopRightTree. В нашем случае мы выбрали насыщенность -53 и яркость -31.

Шаг 20 - опции слияния

Ещё один вариант выделения сложных элементов из почти однородного фона, как на слое TopRightTree, заключается в настройке опций смешивания/слияния. Выберите Blending Options слоя TopRightTree. В группе настроек Blend If выберите Gray и нажмите на белый рычажок под элементом This layer. Рычажок раздвоится. Его левую половину установите в 37, а правую - в 160, как показано на рисунке ниже.

Шаг 21 - фильтр Extract

Остался необработанным слой Middle. Он самый трудоёмкий: волосы девочки, полупрозрачный рукавчики у платья, тонкое деревце слева... Деревце пока что оставим напоследок и займёмся девочкой.
Сделайте копию слоя. Выберите фильтр Extract. Выберите размер кисти 10-15 пикселей. А теперь очень аккуратно обведите контур девочки и забора инструментом, отмеченным зелёным цветом на рисунке ниже, и залейте этот контур синим цветом (инструмент "Заливка" отмечен синим цветом на рисунке ниже).
Нажмите кнопку Preview (не OK!!!)

Шаг 22 - подчищаем границы

Фильтр Extract хорошо отработал на отдельных участках контура. На других же участках - результат не очень. Инструменты Cleanup и Touchup (отмечены красным на рисунке ниже). Первый удаляет пиксели или восстанавливает их (при одновременном нажатии на клавишу Alt). Второй же пересчитывает границу, проинтерпретированную фильтром и пробует очистить её от излишних пикселей.

Шаг 23 - деревце

Таким же образом из копии слоя Middle и при помощи фильтра Extract выделим деревце справа от девочки, просто обведя его ветки. Поскольку для работы нужна область с заливкой, создадим под деревцем небольшую полоску и зальём её синим цветом. Как и на предыдущем шаге, можно использовать инструменты Cleanup и Touchup в режиме Preview для редактирования работы фильтра.

Шаг 24 - заделываем трещины

Чтобы восстановить детали, потерянные фильтром Extract, сделайте видимым слой Middle. Сейчас мы будем его маскировать. Для этого выполните Layer->Layer Mask->Hide All. Затем белой мягкой кисточкой нарисуйте на маске пятна в тех местах, которые вы хотите восстановить.

Шаг 25 - последние штрихи

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

Весь слоёный пирог в формате PSD можно скачать отсюда: deposit (19,55 Mб)

Похожие статьи:


13 коммент.:

Socrat комментирует...

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

Natalia Macheda комментирует...

Рада, что понравилось

jilcov комментирует...

Инструменты Cleanup и Touchup (отмечены красным на рисунке ниже)

jilcov комментирует...

Шаг 13 - магнитное лассоВыберите инструмент магнитное лассо

Лимыч комментирует...

Ну уж коли тут люди стали оставлять сообщения на тему исправления ошибок в тексте...

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

Шаг 16. правильно писать "дЕструктивными".

redpetre комментирует...

В открывшемся диалоговом окне поставьте галочку напротив Use Previous Layer to Create Clipping Path

Natalia Macheda комментирует...

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

Алексей комментирует...

а по какому принципу делим фотографию на зоны?

Natalia Macheda комментирует...

Алексей, по принципу удобства: если на каком-то участке удобнее использовать волшебную палочку, а не, скажем, перо (Pen Tool), то его и вырезаем под волшебную палочку. Если в оставшейся картинке есть участок, на котором целесообразнее использовать перо, то опять его вырезаем. Примеры использования того или иного инструмента использованы в данном посте: например, для мелких элементов типа ветки и листья лучше испольщовать выборочный цвет, а для объектов с чёткими контурами - перо.

connect комментирует...

... обтравка... изолирование... и все же! Огромное спасибо за Ваш труд! Не перестаю удивлятся, как Вы, не являясь фотографиней ( по профессии) умудряетесь так глубоко и толково освещать практические вопросы фотографии, делиться опытом да еще совмещать деятельность в таком количестве областей. Вы умница! С благодарностью, Артур. (connect@email.ua)

Natalia Macheda комментирует...

Артур, и Вам спасибо за добрые слова.

Nadya комментирует...

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

annavera комментирует...

Наталья, спасибо за "волшебный пинок", в вас столько энергии! фотография девочки чудесная (я бы фон и менять не стала), а с фоном стала совсем не реальная - кадр из голливудского фильма

Отправить комментарий

© Natalia Macheda/Наталия Македа, 2008-2013
Все материалы блога защищены авторским правом. Любая перепечатка или использование материалов этого блога в коммерческих целях возможна лишь с письменного согласия автора. При некоммерческом использовании допускается лишь частичное копирование текста какой-либо статьи блога с обязательной ссылкой на полную статью. Полное копирование какой-либо статьи блога ЗАПРЕЩАЕТСЯ даже при наличии ссылки на блог.