Kinectを使用してOpenGL(C ++)でアプリを作成しています。
頭(スケルトン)の座標を取得したい。
私は関数を見ました:
void CSkeletalViewerApp::Nui_DrawSkeletonSegment( NUI_SKELETON_DATA * pSkel, int numJoints, ... )
、
しかし、それを使用して頭の座標を抽出する方法がわかりません。
Kinectを使用してOpenGL(C ++)でアプリを作成しています。
頭(スケルトン)の座標を取得したい。
私は関数を見ました:
void CSkeletalViewerApp::Nui_DrawSkeletonSegment( NUI_SKELETON_DATA * pSkel, int numJoints, ... )
、
しかし、それを使用して頭の座標を抽出する方法がわかりません。
投稿したコードから判断すると、MicrosoftのKinect forWindowsSDKを使用していると推測できます。
ジョイントの座標は、NUI_SKELETON_DATA
構造体のSkeletonPositionsメンバーに格納されます。この構造体のインスタンスは、構造体のSkeletonDataメンバーにありNUI_SKELETON_FRAME
ます。これは、スケルトン追跡エンジンが追跡を終了するたびに提供されます。
もちろん、これはセンサーが適切に初期化されている場合にのみ機能します。SDKに付属しているサンプルプロジェクトを確認し、Microsoftのオンラインドキュメントをお読みください。
また、Kinectの座標系はセンサーを原点とし、x軸で-2.2から2.2、y軸で-1.6から1.6、および0.0から4.0の範囲の座標値を提供することに注意してください。 z軸(深さ)。したがって、いくつかの変換を適用する必要がある場合があります。