Kinect OpenNI 库使用自定义视频文件格式来存储包含 rgb+d 信息的视频。这些视频的扩展名为 *.oni。我无法找到有关 ONI 视频格式的任何信息或文档。
我正在寻找一种将传统 rgb 视频转换为 *.oni 视频的方法。深度通道可以留空(即归零)。例如,我有一个带有音频和视频通道的 MPEG-4 编码 .mov 文件。
必须如何进行这种转换没有任何限制,我只需要以某种方式转换它!即,imagemagick、ffmpeg、mencoder 都可以,C/C++ 等中的自定义转换代码也是如此。
到目前为止,我只能在 OpenNI 源代码中找到一个 C++ 转换实用程序。从它的外观来看,我将它从一个 *.oni 文件转换为另一个文件。我还设法找到了一个博士生的 C++ 脚本,它可以将学术数据库中的图像转换为 *.oni 文件。不幸的是,代码是西班牙语,不是我的母语之一。
非常感谢任何帮助或指示!
编辑:由于我的用例有点奇怪,可能需要一些解释。OpenNI 驱动程序(在我的例子中,我使用了出色的Kinect for Matlab 库)允许您在创建 Kinect 上下文时指定 *.oni 文件。这允许您模拟连接接收视频数据的真实 Kinect - 在您测试/开发代码时很有用(您不需要连接 Kinect 来执行此操作)。在我的特殊情况下,我们将在生产环境中使用 Kinect(工厂环境中的过程控制),但在开发过程中我只有一个视频文件 :) 因此想要转换为 *.oni 文件。我们目前没有使用深度通道,因此不关心它。