Kinect开发笔记(一)
一、OpenCV环境搭建
具体流程网上博客很多,主要注意以下两点:
- debug模式和release模式的的区别,分别连接对应的lib文件,选用x64模式(x86好像不支持)。
- 如果设置环境变量后依然报错找不到对应的dll文件,直接将E:\OpenCV\opencv\build\x64\vc15\bin(OpenCV安装路径)中的dll拷贝到C:\Windows\System32中,以及C:\Windows\SysWOW64中。
二、 骨架信息:
kinect 2.0可以同时追踪六个人的骨架,因此每次我们需要先调用函数,获得六个骨架信息(如果没有人,那么那个骨架类就是空指针)。代码为:
pBodyFrame->GetAndRefreshBodyData(_countof(ppBodies), ppBodies);
这里ppBodies是一个长度为6的IBody数组,IBody是用来存储追踪到的骨架信息的类。
在获得了这个类后,我们需要进一步从类中提取骨架位置,对于ppBodies中的每一个元素pBody,代码为:
pBody->GetJoints(_countof(joints), joints);
这里的joints是一个长度为25的数组,每一个元素就是骨架的位置信息。然而, 这个骨架位置信息是照相机坐标系(camera view)下的位置,x和y的范围都是-1到1。因此我们需要将它转化到深度坐标系中。这里要用到一个coordinateMapper类,具体代码为:
m_pCoordinateMapper->MapCamer