私は kinect プログラミングが初めてで、スケルトンをマップしようとしていますが、正しく動作していません。kinect SDK の 1.6 バージョンを使用していて、コードが実行されますが、この部分に到達すると停止します。
void kinectsensor_SkeletonFrameReady(object sender, SkeletonFrameReadyEventArgs e)
{
SkeletonFrame skeletonSet = e.OpenSkeletonFrame();
// Skeleton skeletonData = new Skeleton[kinectsensor.SkeletonStream.FrameSkeletonArrayLength];
**Skeleton skeletonData = (from s in skeletons
where s.TrackingState == SkeletonTrackingState.Tracked
select s).FirstOrDefault();**
if (skeletonData != null)
{
SetEllipsePosition(Head, skeletonData.Joints[JointType.Head]);
SetEllipsePosition(leftHand, skeletonData.Joints[JointType.HandLeft]);
SetEllipsePosition(rightHand, skeletonData.Joints[JointType.HandRight]);
ProcessGesture(skeletonData.Joints[JointType.Head], skeletonData.Joints[JointType.HandLeft], skeletonData.Joints[JointType.HandRight]);
}
}
私が得る警告メッセージは次のとおりです。
「KinectSkeletonApplication3.MainWindow.skeletons」が割り当てられることはなく、常にデフォルト値が null になります。