我一直在研究和尝试很多技术来解决这个问题。 我从Skeleton数据中获得了手的坐标。使用这些坐标我想从深度数据中裁剪区域,并在手位置改变时显示它。 我已经将rgb和深度流转换为位图。我在Windows窗体上工作,因为我的时间不足。 如何在深度数据坐标上映射骨架坐标? 以及如何简单地过滤出比特定值更远的每个深度帧像素?我知道Kinect提供了深度图,但是对于如何访问它并使其与Windows窗体一起工作有点了解。
答案 0 :(得分:1)
您需要使用Coordinatemapper类将骨架关节映射到2D坐标。 SDK为彩色图像和深度图像定义了两个类:ColorSpacePoint和DepthSpacePoint。两个结构都包含x和y的值(以像素为单位),这就是您想要的。要进行转换,您可以通过以下方式尝试代码:
ColorSpacePoint colorspacepoint=m_pCoordinatemapper->MapCameraPointToColorSpace(point);
要访问帧数据,可以尝试使用IDepthFrame接口的AccessUnderlyingBuffer()方法。
希望这有帮助。