Kinectセンサーを使用して、スケルトンジョイントについて、取得したデータ/値をリアルタイムで読み取り、変数に保存したい場合、どうすればよいですか?
新しい値を要求しない限り更新されない変数にそのデータ/値を保存するにはどうすればよいですか。取得した値をさまざまな変数に保持できるようにしたい。
どんな助けでもいただければ幸いです。
Kinectセンサーを使用して、スケルトンジョイントについて、取得したデータ/値をリアルタイムで読み取り、変数に保存したい場合、どうすればよいですか?
新しい値を要求しない限り更新されない変数にそのデータ/値を保存するにはどうすればよいですか。取得した値をさまざまな変数に保持できるようにしたい。
どんな助けでもいただければ幸いです。
他の変数タイプを保存するのと同じです。
JointCollection _savedJoint;
DateTime _savedJointTime;
private void OnSkeletonFrameReady(object sender, SkeletonFrameReadyEventArgs e)
{
using (SkeletonFrame skeletonFrame = e.OpenSkeletonFrame())
{
if (skeletonFrame == null || skeletonFrame.SkeletonArrayLength == 0)
return;
// resize the skeletons array if needed
if (_skeletons.Length != skeletonFrame.SkeletonArrayLength)
_skeletons = new Skeleton[skeletonFrame.SkeletonArrayLength];
// get the skeleton data
skeletonFrame.CopySkeletonDataTo(_skeletons);
foreach (var skeleton in _skeletons)
{
// skip the skeleton if it is not being tracked
if (skeleton.TrackingState != SkeletonTrackingState.Tracked)
continue;
// do other checks and actions if needed...
// save off the joint
_savedJoint = skeleton.Joints[JointType.HandLeft];
_savedJointTime = DateTime.Now;
}
}
}
複数のジョイントを保存したい場合は、配列を作成できます。すべてを一緒にパッケージ化したい場合は、すべてを格納するクラスを作成できます。