2016-07-08 20 views
1

Ich arbeite an Kinect-Projekt für Blob-Erkennung mit Kinect SDK 2.0.Kinect sdk Version Kompatibilitätsproblem

Nachdem ich so viel Mühe getan habe, ein Referenz-Tutorial dafür zu finden, habe ich folgendes Tutorial herausgefunden.

http://blogs.claritycon.com/blog/2012/11/blob-tracking-kinect-opencv-wpf/

Das Problem ist, dass dieses Beispiel auf Kinect SDK 1.8 gebaut. Daher einige Ereignisse und Methoden, die in kinect sdk 2.0 nicht unterstützt werden.

für zB. private void sensor_AllFramesReady (object sender, AllFramesReadyEventArgs e)

(Fehler:? Der Typ oder Namespace-Namen AllFramesReadyEventArgs konnte nicht gefunden werden (möglicherweise fehlt eine using-Direktive oder ein assembley Referenz))

Ich habe versucht, diese Ereignisse und Methoden neuer Name für Kinect SDK 2.0 zu finden, aber ich habe nichts bekommen.

Bitte geben Sie mir einen Vorschlag für dieses Problem.

+0

Ein Programm namens Kinect SDK Browser ist zusammen mit Ihrem kinect sdk installiert . Sie finden viele Beispiele im SDK-Browser und die Beispiele decken alles ab, was Sie mit kinect v2 tun können. –

Antwort

0

Sie können einen anderen Frame-Callback verwenden, der auf MultiSourceFrameReader hört. Dieser kann gleichzeitig BodyFrameType, DepthFrameType, ColorFrameType usw. empfangen.

Zum Beispiel:

private void Reader_FrameArrived(object sender, MultiSourceFrameArrivedEventArgs e) { 

    using (BodyFrame bodyFrame = e.FrameReference.AcquireFrame().BodyFrameReference.AcquireFrame()) { 
     // do something 
    } 

    using (DepthFrame depthFrame = e.FrameReference.AcquireFrame().DepthFrameReference.AcquireFrame()) { 
     // do something 
    } 

} 

Um einen Rahmen zu diesem Rückruf hinzufügen, instanziiert ein MultiSourceFrameReader reader Objekt und dies tun:

this.reader.MultiSourceFrameArrived += Reader_FrameArrived;