2016-04-11 23 views
0

Kinect V1クラスを使用するコードをKinect V2クラスに変換する際に、多くのエラーをデバッグしています。 thisと記載されているように、いくつかの変更があります。
これまでのところ、私は身体の中にスケルトンのようないくつかのクラスをデバッグするために管理しているが、SkeleonとAllFramesReadyEventsArgsといくつかの足りない部分がありますKinect v1クラスとKinect v2クラスの代替案

private void KinectAllFramesReady(object sender, AllFramesReadyEventArgs e) 
     { 
      // Have we already been "shut down" by the user of this viewer, 
      // or has the SkeletonStream been disabled since this event was posted? 
      if ((this.Kinect == null) || !((KinectSensor)sender).SkeletonStream.IsEnabled)// Error with Skeleton Stream 
      { 
       return; 
      } 

      bool haveSkeletonData = false; 

      using (BodyFrame skeletonFrame = e.OpenSkeletonFrame()) 
      { 
       if (skeletonFrame != null) 
       { 
        if (this.skeletonCanvases == null) 
        { 
         this.CreateListOfSkeletonCanvases(); 
        } 

        if ((this.skeletonData == null) || (this.skeletonData.Length != skeletonFrame.SkeletonArrayLength))// Error with SkeletonArrayLength 
        { 
         this.skeletonData = new Body[ skeletonFrame.SkeletonArrayLength]; 
        } 

        skeletonFrame.CopySkeletonDataTo(this.skeletonData);// Error with Skeleton Frrame 

        haveSkeletonData = true; 
       } 
      } 

私はまだフレームリーダーを持って、それのためのKinect V2の代替は何ですか?あなたはKinectSensorオブジェクト上IsAvailableChangedイベントを使用することができますOnKinectChangedイベントを交換するために

protected override void OnKinectChanged(KinectSensor oldKinectSensor, KinectSensor newKinectSensor) 
     { 
      if (oldKinectSensor != null) 
      { 
       oldKinectSensor.AllFramesReady -= this.KinectAllFramesReady; 
       this.HideAllSkeletons(); 
      } 

      if (newKinectSensor != null && newKinectSensor.Status == KinectStatus.Connected) 
      { 
       newKinectSensor.AllFramesReady += this.KinectAllFramesReady; 
      } 
     } 

答えて

0

: 私はKinectのV1用で、次のコードを持っています。

+0

を使用する必要がありますが、適切なコードを私にしてください提供してもらえますか? 私はそれを変更しましたが、 'AllFrameReady'からのエラーと' KinectStatus'エラー –

0

主な違いは、KinectのV2でのKinect V1とボディクラスにスケルトンクラスとの間にある。しかしSDK2でkinectV2を開発するためにあなたがMultiSourceFrameReaderクラス