本文主要是介绍Kinect for windows 开发入门 九:骨骼数据获取和使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
背景知识
1. 骨骼追踪:骨骼追踪技术通过处理景深数据来建立人体各个关节的坐标,骨骼追踪能够确定人体的各个部分,如那部分是手,头部,以及身体。在Kinect里面,是通过20个关节点来表示一个骨架的,具体由下图可以看到。当你走进Kinect的视野范围的时候,Kinect就可以把你的20个关节点的位置找到(当然你得站着),位置通过(x, y, z)坐标来表示。SkeletonStream产生的每一帧数据都是一个骨骼对象集合。每一个骨骼对象包含有描述骨骼位置以及骨骼关节的数据。每一个关节有一个唯一标示符如头(head)、肩(shoulder)、肘(dlbow)等信息和3D向量数据。
2. 关节坐标:玩家的各关节点位置用(x, y, z)坐标表示。与深度图像空间坐标不同的是,这些坐标单位是米。坐标轴x,y,z是深度感应器实体的空间x, y, z坐标轴。这个坐标系是右手螺旋的,Kinect感应器处于原点上,z坐标轴则与Kinect感应的朝向一致。y轴正半轴向上延伸,x轴正半轴(从Kinect感应器的视角来看)向左延伸,如下图所示。为了方便讨论,我们称这些坐标的表述为关节坐标。如图所示,每个轴的取值都是有范围的。需要注意的是,这里的Y轴不一定是与地面垂直的。
3. Kinect一代最多可以跟踪两个骨骼,可以最多检测六个人(仅位置)。站立模式可以跟踪20个关节点,坐着的模式的话,可以跟踪10个关节点。二代有所改进,可以跟踪7个人的骨骼。
4. Kinect能够追踪到的骨骼数量是一个常量。这使得我们在整个应用程序中能够一次性的为数组分配内存。
这篇关于Kinect for windows 开发入门 九:骨骼数据获取和使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!