Видео маппинг с processing, spout / syphon. Visution без проектора
Простое руководство по видеомаппингу для начинающих. Вам понадобится скетч Processing, чтобы спроецировать ваше лицо (или изображение лица) на манекен. Для этого вам понадобится веб-камера или файл изображения на компьютере. Изображение будет направлено через Spout (Syphon) в видеомаппинг программу visution(Бывший MAPIO), после чего благодаря специальным функциям искажения MAPIO можно будет спроецировать лицо на манекен при помощи проектора… или без него. Большинство фотографий в данном руководстве сделано на Windows, однако принципы работы на Mac практически те же самые, поэтому можете смело следовать данным инструкциям.
Visution — это мощная программа для видео маппинга, которая поможет новичкам понять основные принципы видео маппинга.
Spout (на Windows) и Syphon (на OSX) — два полезных инструмента, которые позволяют приложениям переносить кадры, видео и изображения в реальном времени. При помощи этих инструментов вы можете загрузить два или более видеофайла из разных источников и смешивать, соединять, редактировать их при помощи другой программы.
Cкачайте программы
- Скачайте и установите Processing (processing.org)
- Скачайте и установите Visution2 LITE (visution.com)
- Пользователи Windows: скачайте и установите Spout (spout.zeal.com)
Установите видеотеку spout / syphon для processing
1. Для того чтобы воспользоваться веб-камерой при работе с Processing, вам понадобится установить подходящую библиотеку. Для этого перейдите:
Sketch -> Import a library -> Add Library… (даже если у вас нет вебкамеры)
Введите слово ‘Video’ в строке Find. Выберите видеотеку в коллекции Processing:
Нажмите на кнопку Install и подождите, пока файл загрузится. После успешной установки должен появиться зеленый кружок в начале строки.
2. Пользователи Windows: повторите шаг 1, но на этот раз установите библиотеку Spout.
3. Пользователи OSX: повторите шаг 1, но на этот раз установите библиотеку Syphon.
Создайте скетч processing
- Скачайте здесь (WIN, MAC) пример скетча Processing.
- Создайте скетч. При помощи клавиш 1, 2, 3 вы можете переключаться между форматами:
- Мужское лицо
- Женское лицо
- Трансляция с вебкамеры (если она есть). Нажмите пробел, чтобы остановить трансляцию. Это облегчит маппинг статичного изображения лица.
- С этого момента скетч Processing будет передавать изображение через Spout (Syphon) в программу, работающую со Spout (Syphon). Мы будем использовать плагин Visution Spout (Syphon) для обработки трансляции и передачи изображения на манекен.
- Откройте Visution.
- Пользователи Windows: выберите Source -> Spout2 -> pmtest.
Пользователи OSX: выберите Source -> Syphon -> Processing syphon
Скетч Processing должен появиться в области Canvas!
Давайте спроецируем лицо!
1. Если у вас есть проектор, подсоедините его к вашему компьютеру.
Пользователи Windows: в настройках Дисплея подключите несколько дисплеев.
Пользователи OSX: откройте Системные настройки -> Дисплей -> Расположение и убедитесь, что функция “Включить видеоповтор мониторов” отключена.
2. Выберите INPUT в разделе Map Mode (1). Убедитесь, что выбран режим SLICE. Выберите инструмент Transform в разделе Tools (2). Теперь измените размер и вырежете выбранное изображение лица (3).
3. Таким образом, мы обозначаем область, которую Visution будет проецировать.
4. Если у вас есть проектор, перейдите к следующему пункту. Если у вас его нет, перейдите в конец данного руководства для настройки Visution, а затем вернитесь к пункту 6 данного руководства.
5. Измените способ отображения на OUTPUT (1), выберите пункт Display в меню Destination (2). Появится новое окно (3) с изображением, которое мы будем проецировать на манекен при помощи проектора. Перенесите окно Display (3) на второй экран и дважды щелкните на него, чтобы перейти в полноэкранный режим. После этого интерфейс Visution должен появиться на первом экране, а проектор отобразит лицо.
6. Измените размер прямоугольника во вкладке CANVAS так, чтобы лицо максимально точно подходило под размеры манекена (сосредоточьтесь на глазах и рте).
7. Теперь самое интересное. Как вы могли заметить, некоторые части проецируемой картинки были изменены, чтобы соответствовать очертаниям манекена. Visution позволяет корректировать проекцию различными способами. Здесь вы найдете подробный видеообзор о возможностях Visution.
Мы остановимся на инструменте Elast Mode.
Для начала выберите инструмент Warp (1). Убедитесь, что выбрали пункт Medium (или выше) в Slice settings (2), затем выберите Elast Mode – Elast React в панели инструментов (3). На изображении появится красный прямоугольник. Затем необходимо улучшить область Elast Rect (перемещая точки, мы вносим изменения в область Elast Rect). Начнем с глаз. Как вы могли заметить, чтобы проецируемое изображение подходило под очертания манекена, необходимо скорректировать его размеры.
Но теперь очки кажутся слишком широкими, поэтому мы должны сократить расстояние между глазами, при этом стараясь по возможности не менять положение проецируемых ушей. Чтобы переместить левую часть очков без заметных искажений в соседних областях, мы можем полностью передвинуть левую часть изображения — нажмите левой кнопкой мыши на верхнюю правую часть (4) и перетащите ее в правый нижний угол (5) левой части изображения.
8. Далее необходимо передвинуть очки ближе к центру от крайней левой точки. Для этого выберите инструмент Line (1), нажмите на точку (2) и протяните линию до точки (3), выберите созданную линию и перетаскивайте ее вправо, пока левая линза очков не будет подходить под левый глаз манекена. Следует учесть, что в нашем руководстве мы поможем отрегулировать глаза, нос и рот, поэтому не можем гарантировать, что остальная часть проецируемого лица получится как надо. В конце вы увидите, что у нас из этого получилось :)
9. Повторите то же самое с правой частью лица (правый глаз, часть носа и рта). Помните, что каждый раз, когда вы хотите переместить какую-то область, сначала необходимо выбрать область Elast Rect.
1) Нос. Перемещайте вертикальные линии, чтобы скорректировать левую и правую стороны (при работе с одной областью Elast Rect)
2) Рот. Перемещайте вертикальные линии, чтобы скорректировать левую и правую стороны, перемещайте горизонтальные линии, чтобы скорректировать начало и конец бороды (при работе с одной областью Elast Rect)
10. И вот, что у нас получилось:
Мы можем убрать области вокруг центральной части изображения, чтобы избавиться от искажений в области лба, ушей и щек. Давайте вырежем их!
11. Выберите режим Mask (1), нажмите на инструмент Vector (2) и затем нажмите на значок «+» (3). Щелкните несколько раз левой кнопкой мыши, чтобы создать ломаную линию вокруг глаз, носа и рта (4-13), дважды нажмите на конечную точку (14), затем нажмите на Invert в разделе Mask properties (15).
Результат:
12. Мы представили черновую версию. Для реального проекта нам, возможно, понадобится добавить альфа-композицию и сгладить границы, чтобы наше изображение органично выглядело на манекене. Проще говоря, нам есть над чем поработать. Поскольку у манекена есть свой цвет, будет лучше смягчить насыщенность проецируемой картинки. Нажмите на инструмент Color и установите значение параметра Saturation на 0.
13. Если вы работаете без проектора, вероятно, вы уже получили желаемый результат. Если вы используете проектор, скорее всего вам придется слегка повысить яркость других частей манекена. Для этого необходимо добавить белый фон. Нажмите на значок квадрата в разделе Add. Во вкладке Project появится квадрат “Slide 2”. Перенесите его под “Slice 1”.
14. Перейдите в Source-> Image и выберите белое изображение на вашем компьютере.
15. Выберите инструмент Color (как в пункте 11) и настройте яркость, чтобы полученный результат как можно больше соответствовал оригиналу. На правой картинке изображена имитационная проекция.
Давайте спроецируем лицо (без проектора)
Итак, ваш проектор сломался, вы одолжили его лучшему другу год назад или… у вас просто нет проектора. Но вы хотите научиться пользоваться программами видео маппинга! Мы можем заменить функции проектора при помощи того же Spout (Syphon).
1. Пользователи Windows: выберите Destination -> Spout2 в Меню
Пользователи OSX: выберите Destination -> Syphon в Меню
2. Выберите Destination -> Output settings, выберите разрешение 640×480 и нажмите Save.
3. Скачайте скетч (WIN / OSX) и откройте его.
4. Пользователи Windows: нажмите правой кнопкой мыши на окно Processing, появится меню со всеми возможными источниками Spout. pmtest — наш скетч Processing, который мы используем для передачи в Visution. Теперь нужно осуществить эту передачу, выбрав Visution в качестве источника Spout. Нажмите Save.
5. Нажмите на клавиши 1,2,3,4, чтобы выбрать подходящий фон, на который вы будете проецировать лицо. При помощи фонового изображения вы сможете сымитировать реальную проекцию. Поскольку у вас нет проектора, давайте наложим проекцию, добавив изображение Visution на фоновую картинку. Должно получиться что-то похожее на:
Очевидно, проецируемое лицо слишком велико для фонового изображения, но вскоре мы это исправим. Теперь перейдите к пункту 6. Помните, что каждый раз, когда будет упоминаться манекен, представляйте, что фоновое изображение и есть ваш манекен. Знаем, это не то же самое, но все же… хотя что-то! Вперед!