在Kinect中获取head的坐标

时间:2012-05-25 21:45:01

标签: kinect

我正在使用Kinect在Open GL(C ++)中制作应用程序。

我想获得头部(Skeleton)的坐标。

我看到了这个功能:

void CSkeletalViewerApp::Nui_DrawSkeletonSegment( NUI_SKELETON_DATA * pSkel, int numJoints, ... )

但我不知道如何使用它并提取头部的坐标。

1 个答案:

答案 0 :(得分:2)

根据您发布的代码判断,我们可以假设您使用的是Microsoft的Kinect for Windows SDK。

关节的坐标存储在NUI_SKELETON_DATA结构的SkeletonPositions成员中。可以在NUI_SKELETON_FRAME结构的SkeletonData成员中找到此结构的实例,只要骨架跟踪引擎完成跟踪,就会提供该结构。

当然,这只有在传感器正确初始化的情况下才有效。请查看SDK附带的示例项目,并阅读Microsoft的在线文档。

另外,请注意Kinect的坐标系在传感器上有原点,在x轴上提供的坐标值大致为-2.2到2.2,在y轴上为-1.6到1.6,从0.0到在z轴(深度)上4.0。因此,您可能需要应用一些转换。