Маска: Создание контура объекта. Часть первая

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

Вот типичный пример, взятый из интернета:

Замена фона за объектами

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

Условно методы выделения контура можно поделить на следующие три типа:

1. Методы, создающие информацию о контуре в процессе создания самого объекта, 

2. Методы, использующие цветовую или яркостную информацию,

3. Методы, использующие принцип вырезания по контуру.

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

Альфа-канал

Изображение, которое мы видим на экране компьютера, строится из отдельных цветных точек, называемых "пикселями". Цвет пикселя формируется путем сложения трех основных цветов: красный (red), зеленый (green) и синий (blue).

Слева на рисунке показано каким образом происходит смешение цветов.

Справа мы видим не три, а четыре значения. Четвертое - прозрачность.

Если добавить еще одно число, которое будет отвечать за прозрачность изображения, то мы получим возможность указывать, в каких местах изображение прозрачно, а в каких - нет. Этот параметр называется "альфа-канал" (alpha). Его влияние продемонстрировано на следующей иллюстрации.

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

Персонажи стилизованные под героев первых компьютерных игр

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

Методы, формирующие информацию о контуре в процессе создания самого объекта

Любая из программ, предназначенных для генерации цифровых изображений, учитывает необходимость формирования не только самого изображения, но и его контура. Художник, который начинает рисовать объект с использованием компьютера, обычно использует для этого так называемые "слои" (Layers). Изначально слой представляется для пользователя прозрачной поверхностью наподобие стекла. Нанесенный на него штрих уже не будет прозрачным, его прозрачность будет регулироваться параметрами, заданными самим пользователем. Для удобства работы художника программа может под прозрачный слой подкладывать другой слой, чтобы художник мог визуально контролировать прозрачность создаваемого им изображения. В программе Adobe Photoshop, предназначенной для рисования и дизайн, этот слой выглядит как шахматная доска.

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

 

Иллюстрация из статьи "Основы Фотошоп"

А это пример трехмерного объекта, визуализированного сразу с каналом прозрачности.

Изображение трехмерного объекта с каналом прозрачности

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

Методы, использующие цветовую или яркостную информацию

Если в первом случае создание контура зависит от самого художника, то, для того, чтобы получить необходимую яркостную или цветовую информацию, приходится вмешиваться в процесс съемки объекта. За историю кинематографа было придумано множество вариантов выделения объектов, использующих информацию, хранящуюся в самом изображении, но в настоящее время их, практически, осталось два: хромакей (green screen, blue screen) и люмокей (luma key).

Хромакей

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

 

Технология хромакея, использовавшаяся в при создании одного из кадров фильма "Алиса в стане чудес" (реж. Т. Бертон, 2010)

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

В то же самое время не все объекты выгодно снимать на цветном фоне.

Съемки огня и дыма на зеленом фоне

Показанный на иллюстрации вариант хромакейной съемки может быть использован, но из картинки видно, что огонь и фон достаточно близки по цвету, поэтому операция вычитания фона потребует значительных усилий, не считая того, что некоторые объекты, такие как масштабный взрыв, снять на хромакейном фоне практически невозможно. Для съемки различных полупрозрачных объектов-сред, таких как огонь, дым, струи воды, кровь, взрывы и многое другое, используется технология съемки на черном фоне, которая называется люмокей (Luma key).

Люмокей

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

Съемки трех объектов - дым, дырка в стекле и взрыв.

Материалы из библиотеки "Action Essentials 2"

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

Изображение, разложенное на основные цвета

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

 

Альфа канал, полученный сложением R, G и B.

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

Вот, что мы получим, если захотим использовать съемку дырки в стекле.

Наложение изображения дырки в стекле на неповрежденное стекло автомобиля

Такие библиотеки заранее отснятых материалов продают ряд компаний, наиболее известные из них:


Video Copilot


ArtBeats


Video Blocks

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

И, наконец, остался третий тип методов.

Методы, использующие принцип вырезания по контуру

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

Эти методы можно разделить на два варианта, когда контур вырезается автоматически или вручную.

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

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

authorКОММЕНТАРИИ
ПОДПИШИТЕСЬ НА НОВОСТНУЮ РАССЫЛКУ!
Хотите получать свежую информацию о новых статьях и быть в курсе запуска учебных занятий по программе моего авторского курса? Подписывайтесь на новостную рассылку!
E-mail:
FIND US ON FACEBOOK
ОПРОС

Интересны ли вам материалы сайта?

Да, мне это интересно
Не особо
Ничего нового

САМОЕ ПОПУЛЯРНОЕ
Яндекс.Метрика