2017-04-30 7 views
0

Tiefe oder Entfernung?Kinect Gesichtsverfolgung

Ich arbeite an Gesichtsverfolgung mit Kinect mit C# und ich muss jetzt über die Entfernung oder Tiefe des Gesichts zu der Kinect-Kamera.

Wissen Sie, wie kann ich die Tiefe oder Entfernung finden?

Welchen Befehl soll ich verwenden? Und in welchem ​​Fenster (Hauptfenster oder Face Tracking Viewer)?

+1

Haben Sie getan jeder selbst erforschen wie ein Tutorial oder die Überprüfung der API zu lesen? –

+0

Ja, habe ich. Aber leider habe ich nichts sinnvolles gefunden. – ADanjer

+0

Das Problem ist, dass ich ein Anfänger in C# bin, also habe ich Probleme mit Befehlen. – ADanjer

Antwort

1

die Antwort lautet:

using (var skeletonFrame= e.OpenSkeletonFrame()) 
using (var depthFrame = e.OpenDepthImageFrame()) 
{ 
skeletonFrame.CopySkeletonDataTo(skeletons); 
var skeletons = new Skeleton[skeletonFrame.SkeletonArrayLength]; 

foreach (var skeleton in skeletons) 
{ 
     if (skeleton.TrackingState != SkeletonTrackingState.Tracked)   
continue; 

     var head = skeleton.Joints[JointType.Head]; 
     if (head.TrackingState == JointTrackingState.NotTracked) continue; 

     var depthImagePoint = depthFrame.MapFromSkeletonPoint(head.Position); 

     int depthInMillimeters = depthImagePoint.Depth; // TADA! 
} 
}