上篇文章,我们讲了如何离线保存 Azure Kinect 的 RGB-D Stream 到本地 mkv 视频文件。我们可以通过 Azure Kinect 自带的 k4aviewer 工具查看 mkv 视频中保存的 RGB-D Stream。但是,k4aviewer 的代码过于复杂,如果单单只是在代码中读取 mkv 中的 RGB-D stream 用于算法处理,从 k4aviewer 代码中抽取播放 mkv 的代码就得不偿失。这篇文章,我将讲解如何简单的通过 Azure Kinect 的 C++ API 中的 playback 工具类来读取 mkv 视频,并通过 OpenCV 来播放 RGB-D Stream。
代码比较简单,我们这里直接贴一下完整代码。
简单地说,这个代码和很久之前写的使用 OpenCV 读取 Azure Kinect 实时 RGB-D stream 的代码基本一样。
有两点不同。
- 使用 k4a::playback 替代 k4a::device。因为播放的是录制的 mkv 视频,而不是直接打开 Azure Kinect。逻辑上,基本就是用 k4a::playback 替代 k4a::device 的角色。
- 需要把 MJPG<