在 C++ 中同时从 Kinect 版本 2 获取颜色和深度帧

Getting Color and Depth Frames from Kinect Version 2 Simultaneously in C++

我正在尝试使用 Kinect for Windows 2 SDK 从新 Kinect(Kinect 版本 2)中提取颜色和深度帧。

我正在尝试使用下面的 API 调用来做到这一点:

OpenMultiSourceFrameReader(FrameSourceTypes_Color | FrameSourceTypes_Depth , &m_multisource_reader))

但是,使用这个我无法同时从 Kinect 获取颜色帧和深度帧(一次只接收深度帧)。

如何从Kinect中同时获取Frames?还有其他方法吗?

解决了这个问题,显然我们必须编写两个单独的线程来拉取颜色帧和深度帧(我试图在一次调用中拉取帧)。

您还可以检查 MultiSourceFrameArrived 事件 - 它同时携带颜色和深度帧。不过要小心——它们可能不会一直被填充(在某些情况下它们的引用可能被设置为 null)。如果你想要完美的同步 - 忽略所有帧,其中两个或其中一个设置为空。然而,通常,这不是必需的,缓冲最后一个非空帧就足够了,直到丢失的帧到达。