2013-03-14 3 views
1

Kinect SDK 베타 3에서이 작업을 수행 할 수 있었지만 이후 Kinect를 개발하지 않았으며 많은 변화가있었습니다.어떻게 kinect 해골 데이터를 파일로 저장할 수 있습니까?

각 관절을 변수로 저장하고 그 값을 나중에 구문 분석 할 수있는 .csv 파일에 기록하려고합니다. (물론 ++ 버전을 바람직하게는 C#을 사용하지만, 나는 C로 작업 할 수 있습니다)

질문

- 왜 내가 관절의 각 숫자 값을받을 수 있도록 전화를해야합니까?

도움이 될 것입니다!

답변

3

Skeleton 데이터는 일련의 Joint 컬렉션이며 X/Y/Z 좌표를 포함합니다. 다른 유형의 객체와 마찬가지로 객체를 저장하고 쓸 수 있습니다.

Joint의 값을 얻는 것은 Kinect for Windows Samples에 대해 Microsoft에서 제공하는 여러 예제에 나와 있습니다. 최신 Kinect SDK로 작업하기위한 기초를 얻기 위해이 예제를 살펴보십시오.

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; 

      // print the RightHand Joint position to the debug console 
      Debug.Writeline(skeleton.Joints[JointType.HandRight]); 
     } 
    } 
} 

는 또한, Kinect Toolbox은 기록하고 스트림의 3을 재생할 수 있도록 기능을 제공 :

다음은 SkeletonFrame을 분석하고 각각의 해골과 함께 작업 할 수있는 기본 콜백입니다.