私はkinect開発に不慣れで、「MicrosoftKinectSDKを使用したKinectプログラミングの開始」という本のスケルトン追跡の例を使用していました。何らかの理由で、SkeletonFrameReadyイベントハンドラーで取得するすべてのフレームがnullになります。
これがスケルトンストリームを有効にする方法です
this._KinectDevice.SkeletonStream.Enable();
this._FrameSkeletons = new Skeleton[this._KinectDevice.SkeletonStream.FrameSkeletonArrayLength];
this._KinectDevice.SkeletonFrameReady += KinectDevice_SkeletonFrameReady;
this._KinectDevice.Start();
ここでスケルトンフレームをチェックします
private void KinectDevice_SkeletonFrameReady(object sender, SkeletonFrameReadyEventArgs e)
{
using (SkeletonFrame frame = e.OpenSkeletonFrame())
{
...//use frame data
}
}
デバッグ時に、返されるフレームが常にnullであることがわかります。誰かが私が間違っていることを手伝ってくれる?SDKのスケルトンビューアサンプルは問題なく機能します。