kinect2.0骨骼数据
来源:互联网 发布:shell编程可以做什么 编辑:程序博客网 时间:2024/04/30 00:57
通过kinect2.0可以获得人体的25个关节点在3D坐标系下的空间位置以及各骨骼的方位。
3D坐标系以红外传感器的中心作为原点,传感器左方为X轴正方向,传感器上方为Y轴正方向,传感器的前方为Z轴正方向,所测数据以米(m)为单位,数据格式为(float x, float y, float z)比如(0.0581612 -0.478016 1.96193)
3D坐标系图如下:
在Kinect中,骨骼图是以Hip Center(即下图中的SPINE_BASE)作为根节点,然后以此扩展到头上、手上以及脚上的节点上,如下图所示:(注意:下图中第二幅图是Kinect一代的骨骼图,不过我们能够以此来说明问题)
从上面的图中可以看出,除了Hip Center,每一节点都有一父节点。而每一骨骼都是由父节点和子节点"围"起来的。比如下图中的Hip Left Bone就是由父节点Hip Center和子节点Hip Left "围"起来的,在Kinect中,骨骼的旋转便是通过该骨骼的子节点来反映的;
Kinect中两骨骼间旋转量的多少是通过父骨骼和子骨骼上的笛卡尔坐标系的旋转量来描述的,如下图所示:笛卡尔坐标系的Y轴设在骨骼上,Z轴朝向传感器。
Kinect使用四元数来表示该旋转量,存储的格式为(float x, float y, float z, float w),比如ShoulderRight(0.760096 0.63224 -0.0665784 -0.134512 ) HipCenter(0.00547569 0.989617 0.143306 -0.00952205) (注:四元数用来描述两个坐标系的旋转)
对于Hip Center ,其以传感器坐标系作为参考,Hip Center的旋转量提供了用户在传感器坐标系下的绝对方位(前提条件是:用户的坐标系以Hip Center作为原点,以竖直向上为Y轴,Z轴指向传感器,X轴位于人左手方向);
通过以上分析可知:如果我们要得知每一骨骼的绝对方位,只需用该骨骼的旋转矩阵乘以其父骨骼的旋转矩阵即可。
附上各骨骼节点——编号对应表:
具体可以参考 http://msdn.microsoft.com/en-us/library/hh973073.aspx 介绍
- kinect2.0骨骼数据
- Kinect2.0+OpenCV获取骨骼图
- kinect2.0 opencv3.2 骨骼图像提取
- kinect2.0的骨骼节点坐标的获取与handstate
- kinect2.0 之摄像头
- Kinect2.0硬件介绍
- Opencv+Kinect2.0抠图
- Kinect2.0系统配置要求
- kinect2.0 API综述
- Kinect2.0 usb controller
- Kinect2.0 之CoordinateMappingBasics
- vs2015配置Kinect2.0
- kinect2.0开发环境
- Kinect2.0 Gesture Builder使用方法
- Kinect2.0+VS2013 试玩
- kinect2.0图像输出综合
- Kinect2.0之colorBasics-WPF
- Kinect2.0之使用KinectSDK自带的KinectStudio进行数据采集
- oracle中的阻塞
- Hadoop在Windows系统的Eclipse下运行Cannot run program "chmod": CreateProcess error=2解决办法
- 内存对其加速cpu访问速度原理
- mysql 数据库自动备份
- eclipse的常用设置
- kinect2.0骨骼数据
- 杨辉三角的多种解法
- Nginx 内存池管理
- 身体检查表 特别实用!
- poj解题报告——3253
- 为了防止乱码,可以通过过滤器将整个应用编码统一
- spring ApplicationContext-mvc之<mvc:annotation-driven />初探
- 集群式游戏服务器架构方案设计开发
- HDU1102 Constructing Roads【Prim】