0

Kinectセンサーを使用して、スケルトンジョイントについて、取得したデータ/値をリアルタイムで読み取り、変数に保存したい場合、どうすればよいですか?

新しい値を要求しない限り更新されない変数にそのデータ/値を保存するにはどうすればよいですか。取得した値をさまざまな変数に保持できるようにしたい。

どんな助けでもいただければ幸いです。

4

1 に答える 1

0

他の変数タイプを保存するのと同じです。

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;
        }
    }
}

複数のジョイントを保存したい場合は、配列を作成できます。すべてを一緒にパッケージ化したい場合は、すべてを格納するクラスを作成できます。

于 2012-12-14T21:26:46.720 に答える