Отслеживание лица Kinect
Глубина или расстояние?
Я работаю над отслеживанием лица с помощью Kinect с помощью C#, и теперь мне нужно узнать о расстоянии или глубине лица до камеры Kinect.
Вы знаете, как я могу найти глубину или расстояние?
Какую команду мне использовать? И в каком окне (главное окно или средство отслеживания лиц)?
1 ответ
Решение
Ответ:
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!
}
}