Конвертировать фильм в OpenNI * .oni видео

Библиотека Kinect OpenNI использует собственный формат видеофайлов для хранения видео, содержащих информацию rgb + d. Эти видео имеют расширение * .oni. Я не могу найти какую-либо информацию или документацию о видеоформате ONI.

Я ищу способ конвертировать обычное видео RGB в видео * .oni. Канал глубины можно оставить пустым (т.е. обнулить). Например, у меня есть файл .mov в формате MPEG-4 с аудио и видео каналами.

Там нет никаких ограничений на то, как это преобразование должно быть сделано, мне просто нужно как-то преобразовать его! То есть с imagemagick, ffmpeg, mencoder все в порядке, как и с пользовательским кодом преобразования в C / C ++ и т. Д.

Пока все, что я могу найти, это одна утилита преобразования C ++ в исходниках OpenNI. Судя по всему, я конвертирую из одного файла * .oni в другой. Мне также удалось найти скрипт C ++ от аспиранта, который преобразует изображения из академической базы данных в файл * .oni. К сожалению, код на испанском, а не один из моих родных языков.

Любая помощь или указатели высоко ценится!

РЕДАКТИРОВАТЬ: Поскольку мой случай использования немного странно, некоторые объяснения могут быть в порядке. Драйверы OpenNI (в моем случае я использую отличный Kinect для библиотеки Matlab) позволяет указать файл * .oni при создании контекста Kinect. Это позволяет вам эмулировать подключение реального Kinect, который получает видеоданные, что полезно при тестировании / разработке кода (для этого вам не нужно подключать Kinect). В моем конкретном случае мы будем использовать Kinect в производственной среде (управление процессом в заводской среде), но во время разработки все, что у меня есть, это видеофайл 🙂 Следовательно, я хочу преобразовать его в файл * .oni. В данный момент мы не используем канал Depth, поэтому нам не до этого дела.

4

Решение

У меня нет полного ответа для вас, но взгляните на примеры NiRecordRaw и NiRecordSynthetic в OpenNI / Samples. Они демонстрируют, как создать ONI с произвольными или измененными данными. Посмотрите, как MockDepthGenerator используется в NiRecordSynthetic — в вашем случае вам понадобится MockImageGenerator.
Более подробную информацию вы можете запросить в группе openni-dev google.

4

Другие решения

Вы смотрели на эту команду и связанную с ней документацию

NiConvertXToONI
NiConvertXToONI открывает любую запись, берет каждый узел в ней и записывает ее в новую запись ONI. Он получает как входной файл, так и выходной файл из командной строки.

0

По вопросам рекламы [email protected]