1

Kinectを使用してOpenGL(C ++)でアプリを作成しています。

頭(スケルトン)の座標を取得したい。

私は関数を見ました:

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

しかし、それを使用して頭の座標を抽出する方法がわかりません。

4

1 に答える 1

2

投稿したコードから判断すると、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軸(深さ)。したがって、いくつかの変換を適用する必要がある場合があります。

于 2012-05-29T08:29:29.597 に答える