Я пишу программу на C# с Kinect V2 SDK и пытаюсь записать данные Body. Я попытался просто сохранить BodyFrame в файл, но он не сериализуем, и ни один из них не является классом Body. Какой был бы лучший способ сделать это? Мое настоящее мышление заключается в том, чтобы сохранять позиционные данные для каждого сустава в каждом теле в каждом кадре, но у меня есть чувство, которое усложняется очень быстро. Предложения? Я приложил часть кода Microsoft BodyBasics от Microsoft, где он разбивает данные тела на суставы. Благодаря!Kinect V2- Сохранение данных тела
if (body.IsTracked)
{
//this.DrawClippedEdges(body, dc);
IReadOnlyDictionary<JointType, Joint> joints = body.Joints;
// convert the joint points to depth (display) space
Dictionary<JointType, Point> jointPoints = new Dictionary<JointType, Point>();
foreach (JointType jointType in joints.Keys)
{
// sometimes the depth(Z) of an inferred joint may show as negative
// clamp down to 0.1f to prevent coordinatemapper from returning (-Infinity, -Infinity)
CameraSpacePoint position = joints[jointType].Position;
if (position.Z < 0)
{
position.Z = InferredZPositionClamp;
}
DepthSpacePoint depthSpacePoint = this.coordinateMapper.MapCameraPointToDepthSpace(position);
jointPoints[jointType] = new Point(depthSpacePoint.X, depthSpacePoint.Y);
}
Будет ли это работать, даже если класс Body не является сериализуемым? – Charuzu
Я использовал его, это сработало для меня. –
@Charuzu дайте мне знать, если это сработает. –