Видео маппинг, видео перформансы

Использование камеры Intel RealSense с TouchDesigner. Часть 1 - Страница 2

Содержание материала

Рендеринг и анимация в реальном времени


Демонстрация 1, часть 5. Вы узнаете, как настраивать сцену для рендеринга и выводить изображение в режиме прямого показа или в виде видеофайла.
1. Для рендеринга проекта добавьте узлы Camera COMP, Light COMP и Render TOP. По умолчанию камера выполняет рендеринг всех компонентов геометрии на сцене.
2. Отведите камеру назад примерно на 20 единиц по оси Z. Для освещения оставьте значения по умолчанию.
3. Задайте разрешение рендеринга 1920 на 1080. По умолчанию фон рендеринга является прозрачным (значение альфа равно 0).
4. Чтобы сделать фон непрозрачным черным, добавьте узел Constant TOP и измените значение параметра Color на 0,0,0, чтобы задать черный цвет, указав для параметра Alpha значение 1. Можно выбрать любой другой цвет.
5. Добавьте узел Over TOP и соедините узел Render TOP с первым подключением, а узел Constant TOP — со вторым. При этом пиксели фона получат значение (0, 0, 0, 1), то есть перестанут быть прозрачными.
Еще один способ изменить значение прозрачности TOP на 1 — использовать узел Reorder TOP и задать для его параметра Output Alpha значения Input 1 и One.

Отображение сцены с непрозрачным черным фоном.

Здесь виден полный экран с текстурированными вращающимися кубами.

Если вы предпочитаете выводить анимацию в файл вместо воспроизведения ее в реальном времени при демонстрации, нужно выбрать диалоговое окно Export movie в разделе file на верхней панели программы TouchDesigner. В параметре узла TOP Video введите null2 для этого конкретного примера. В противном случае введите любой узел TOP, которому требуется рендеринг.

Вот панель Export Movie с узлом null2. Если бы был еще и звуковой узел CHOP, то я бы разместил CHOP Audio сразу под null2.

Демонстрация 1, часть 6. Одна из полезных особенностей платформы TouchDesigner* — возможность создания анимации в реальном времени. Эта возможность особенно удобна при использовании камеры Intel RealSense.
1. Добавьте узел Window COMP, а в параметре оператора введите узел null2 TOP.
2. Установите разрешение 1920 на 1080.
3. Выберите нужный монитор в параметре Location. Узел Window COMP позволяет выводить всю анимацию в реальном времени на выбранный монитор. С помощью узла Window COMP можно указать монитор или проектор, на который следует выводить изображение.

Можно создать сколько угодно узлов Window COMP для вывода изображения на другие мониторы.

 

Демонстрация 2. Использование данных глубины узла камеры Intel RealSense TOP


Узел камеры Intel RealSense TOP содержит ряд других настроек для создания текстур и анимации.
В демонстрации 2 мы используем данные глубины для применения размытия к изображению на основе полученных от камеры данных глубины. В архиве мы будем использовать файл RealSenseDepthBlur.toe.

Сначала создайте узел камеры Intel RealSense TOP и задайте для параметра Image значение Depth. Изображение глубины содержит пиксели со значением 0 (черные), если они близко к камере, и со значением 1 (белые), если они далеко от камеры. Диапазон значений пикселей определяется параметром Max Depth, его значение указывается в метрах. По умолчанию этот параметр имеет значение 5. Это означает, что пиксели, находящиеся на расстоянии 5 метров от камеры (или дальше), будут белыми. Пиксели со значением 0,5 находятся на расстоянии 2,5 м от камеры. В зависимости от фактического расстояния между камерой и вами имеет смысл изменить это значение на меньшее. В этом примере мы изменили значение данного параметра на 1,5 м.

Затем нужно обработать глубину, чтобы удалить объекты, находящиеся за пределами интересующей нас дальности. Для этого мы используем узел Threshold TOP.
1. Создайте узел Threshold TOP и соедините его с узлом realsense1. Нужно убрать все пиксели, находящиеся дальше определенного расстояния от камеры, поэтому задайте для параметра Comparator значение Greater, а для параметра Threshold — значение 0.8. При этом пиксели со значением больше 0,8 (что соответствует расстоянию 1,2 м или более, если для параметра Max Depth в узле камеры Intel RealSense TOP задано значение 1,5) станут равными 0, а все остальные пиксели — равными 1.


2. Создайте узел Multiply TOP, соедините узел realsense1 с первым входом, а узел thresh1 — со вторым входом. При умножении пикселей на 1 они останутся в неизменном виде, а при умножении других пикселей на 0 они будут обнулены. Теперь узел multiply1 содержит только пиксели больше 0 для той части изображения, на которой нужно сделать размытие, чем мы сейчас и займемся.
3. Создайте узел Movie File в TOP и выберите новое изображение для параметра File. В этом примере мы выбираем Metter2.jpg из папки TouchDesigner* Samples/Map.
4. Создайте узел Luma Blur TOP и соедините moviefilein1 с первым входом lumablur1, а multiply1 — со вторым входом lumablur1.
5. В параметрах lumablur1 задайте для параметра White Value значение 0.4, для параметра Black Filter Width значение 20, а для параметра White Filter Width — значение 1. Благодаря этому у пикселей со значением первого входа 0 будет ширина фильтра размытия 20, а у пикселей со значением 0.4 или больше — ширина размытия 1.

Все в целом.

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

Фон, выводимый отображением Luma Blur TOP, показывает, насколько размыто изображение.

Демонстрация 3. Использование данных глубины узла камеры Intel RealSense TOP с узлом Remap TOP


В архиве мы будем использовать файл RealSenseRemap.toe.
Примечание. Камеры глубины и цвета узла камер Intel RealSense TOP физически находятся в разных местах, поэтому выдаваемые ими изображения по умолчанию не совпадают друг с другом. Например, если ваша рука находится ровно посередине цветного изображения, то она будет не в середине изображения глубины, а несколько смещена влево или вправо. Сдвиг UV-карты устраняет эту проблему за счет выравнивания и точного наложения пикселей. Обратите внимание на разницу между выровненным и невыровненным узлами TOP.

Remap TOP совмещает данные глубины, полученные от узла камеры Intel RealSense TOP, с данными цвета, полученными от этого же узла, используя UV-данные совмещения глубины с цветом на одном и том же пространстве.

Демонстрация 4. Использование облака точек в узле камеры Intel RealSense TOP


В архиве мы будем использовать файл PointCloudLimitEx.toe.
В этом упражнении вы научитесь создавать анимированную геометрию с помощью облака точек, узла камеры Intel RealSense TOP и узла Limit SOP. Обратите внимание, что этот подход отличается от примера файла Point Cloud, приведенного в начале этой статьи. В предыдущем примере используются шейдеры GLSL, что дает возможность создать гораздо больше точек, но эта задача усложняется и выходит за рамки статьи.
1. Создайте узел RealSense TOP и задайте для параметра Image значение Point Cloud.
2. Создайте узел TOP–CHOP и подключите его к узлу Select CHOP.
3. Подключите узел Select CHOP к узлу Math CHOP.
4. В параметре TOP узла CHOP topto1 введите: realsense1.
5. В параметрах Channel Names узла Select CHOP введите r g b, разделив буквы пробелами.
6. В узле CHOP math1 в поле значения параметра Multiply введите: 4.2.
7. На странице параметров Range в поле значений параметра To Range введите: 1 и 7.
8. Создайте узел Limit SOP.
Цитирую вики-страницу на сайте www.derivative.ca: «Limit SOP создает геометрию из данных, передаваемых узлами CHOP. Он создает геометрию в каждой точке выборки. С помощью параметра Output Type на странице Channels можно создавать геометрию разного типа».
1. На странице с параметром limit1 CHOP Channels введите r для параметра X Channel, «g» — для параметра Y Channel и «b» — для параметра Z Channel.

Примечание. Перемещение значений r, g и b в другие каналы X, Y и Z изменяет образуемую геометрию. Поэтому позднее можете попробовать следующее: На странице параметров Output для параметра Output Type выберите Sphere at Each Point в раскрывающемся списке. Создайте узел SOP–DAT. На странице параметров для SOP введите limit1 или перетащите узел limit1 CHOP в этот параметр. Оставьте значение по умолчанию для Points в параметре Extract. Создайте узлы Render TOP, Camera COMP и Light COMP. Создайте узел Reorder TOP, задайте для Output Alpha значения Input 1 и One, соедините его с узлом Render TOP.

При изменении изображения с камеры Intel RealSense изменяется и геометрия. Это итоговый проект.

Итоговые изображения в узле Over TOP CHOP. Изменяя порядок каналов в параметрах Limit TOP, вы изменяете геометрию на основе облака точек.

Во второй части этой статьи мы обсудим узел камеры Intel RealSense CHOP и создание содержимого для записи и демонстрации в реальном времени, демонстрации полусферических панорам и систем виртуальной реальности. Кроме того, мы обсудим использование узла Oculus Rift CHOP. Мы поговорим про отслеживание рук, отслеживание лица и маркеров.

Вторая часть тут

Источник: habrahabr.ru

EventCatalog.ru — всё для организации мероприятий!