Как программно реалистично изменить видеоклип во время воспроизведения?

Некоторое время назад я наткнулся на интересную подборку видеопрезентаций на сайте немецкой компании. Они занимаются модификацией видеопотока во время его воспроизведения, и я был приятно удивлен точностью и плавностью этой техники. Из всех этих презентаций я посчитал одну из них довольно увлекательной с точки зрения смешивания текста в динамическом воспроизведении видео. Он позволяет вам вводить строку в текстовое поле во время воспроизведения видео и встраивать преобразованные варианты текста, написанного вами в видео, с реалистичной точностью. Мой вопрос: если бы вы узнали, какой алгоритм требуется для такой функции, как я могу программным образом вставлять текст и изображения в реальном времени в видеопоток? Есть ли какие-нибудь исследовательские работы или библиотеки, в которые я должен обратиться за подробностями?

PS. Не жалейте меня на содержание видео, мне интересна техника программирования, видео - лучший пример, который я смог найти.

3 ответа

Решение

Это называется дополненной реальностью, и для этого доступно множество библиотек и наборов инструментов, таких как artoolkit http://www.hitl.washington.edu/artoolkit/

Хорошо, так что я на самом деле посмотрел на ваш пример. Так как это предварительно записанное видео, они могли просто отследить четыре угла рамки на целевой поверхности. Затем для рендеринга вы просто делаете перспективное преобразование вашего текста в целевой прямоугольник. Чтобы смешать его, вероятно, нужно было просто выбрать хорошие цвета, слои, цветовые преобразования и прозрачность. Здесь нет ничего особенного, только стандартные графические алгоритмы в стиле фотошопа, большинство из которых, вероятно, просто встроены во флэш.

Чтобы сделать это, вам просто нужно заменить кадр до его рендеринга.

В принципе:

  1. Читать кадр
  2. Изменить рамку
  3. оказывать

Там действительно нет алгоритма, чтобы сделать это.

Другие вопросы по тегам