我知道 kinect v2 相机可以检测骨骼关节位置,但我需要知道如何使用 kinect-v2 相机确定房间中某个点的 (x,y,z) 位置?
3 回答
为此,您需要使用CameraSpacePoint 结构
我给你一个C#的例子。
为此,我将跟踪左手,我想你有你的关节。
internal Joint HandLeft;
要获得一个职位,您需要使用这个:
CameraSpacePoint pointLeft = HandLeft.Position;
之后,您可以使用您的职位:
pointLeft.X
pointLeft.Y
pointLeft.Z
当然,您可以将值保存在浮点数中:
float test = pointLeft.Y;
您可以在 kinect v2 中确定人的 1-25 点的 (x,y,z) 位置。(Z) 表示从每个点到 kinect 传感器的距离。如果您需要找到框架的每个点,您必须使用 ColorFrame 类,那么您可以使用 Ellipse 定义您最喜欢的位置,当然还有 XY 位置。您的框架是 2D 视图框架,因此您没有 z 位置
您可以查看 Vitruvius 库,因为它具有您正在寻找的东西,例如关节位置和测量距离。
这将获得左手关节的 y 坐标
联合代码示例:body.Joints[JointType.HandLeft].Position.Y
这将获取坐标到 Kinect V2 传感器的距离
距离代码示例:Length(_bodies[_token.BodyArrIndex].Joints[JointType.SpineBase].Position)
维特鲁威 GitHub 链接:https ://github.com/LightBuzz/Vitruvius
Vitruvius GitHub 手势关节链接:https ://github.com/LightBuzz/Vitruvius/tree/master/Kinect%20v2/WPF/LightBuzz.Vitruvius/Gestures
维特鲁威网站:https ://vitruviuskinect.com/
希望能帮助到你!