使用 Kinect V2 相机的点定位

point position using Kinect V2 camera

我知道kinect v2摄像头可以检测骨骼关节位置, 但我需要知道如何使用 kinect-v2 相机确定房间中某个点的 (x,y,z) 位置?

为此你需要使用 CameraSpacePoint Structure

我给你一个 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 class 然后你可以用 Ellipse 定义你最喜欢的位置,当然还有 X-Y 位置。 您的框架是 2D 视图框架,因此您没有 z 位置

你可以看看 Vitruvius 库,因为它有你正在寻找的东西,比如关节位置和测量距离。

This gets the y coordinate of the left hand joint

联合代码示例:body.Joints[JointType.HandLeft].Position.Y

This gets the distance of the coordinates to the Kinect V2 sensor

距离代码示例:Length(_bodies[_token.BodyArrIndex].Joints[JointType.SpineBase].Position)

维特鲁威 GitHub link: https://github.com/LightBuzz/Vitruvius

维特鲁威GitHub手势关节link:https://github.com/LightBuzz/Vitruvius/tree/master/Kinect%20v2/WPF/LightBuzz.Vitruvius/Gestures

维特鲁威网站:https://vitruviuskinect.com/

希望对您有所帮助!