C++基于Kinect SDK+OpenCV+TV3D的动作表情捕捉程序开发探究Kinect篇(一)——VS环境搭建

版本:visual studio 2012,Kinect SDK 1.7,OpenCV3.0.0,TV3D 6.5

首先kinect是传感器,主要有三个功能,

一、获取彩色图像(就是普通摄像头)

彩色图像每个像素保存有R(红)G(绿)B(蓝)的色彩信息,通过每个像素不同的RGB搭配实现不同色彩。如下图放大的像素

(图片来源于网络)

C++基于Kinect SDK+OpenCV+TV3D的动作表情捕捉程序开发探究Kinect篇(一)——VS环境搭建

二、获取深度图像

普通图像存的是红绿蓝的彩色信息,把红绿蓝信息换成物体距离传感器平面的距离就成了深度图像,为了方便查看也可以像普通图片显示,但因为只有一个参数所以只能以亮暗表示,比如深度范围0.8-4米,缩放到0到1范围内就是rgb=(距离-0.8)/(4-0.8),照此算法距离越远亮度越高。

三、获取骨骼跟踪数据

简单说就是人形物体可以被识别出来,并且计算出某个部分(比如胳膊,腿,腰)的空间位置状态,它也是实现简单动作捕捉的基础。

四、获取声音信息

除了像普通麦克风获取声音信号之外,还可以获取声音方向信号,与本案例无关,不做过多解释。

下面开始搭建VS+Kinect平台

首先安装VisualStudio 2012,百度一下按照步骤安装即可,没什么说的,我用的版本是2012。

然后是 Windows SDK v1.7,它包含了Kinect的驱动程序和开发库等。官网下载地址

https://www.microsoft.com/en-us/download/confirmation.aspx?id=36996

安装完之后会提示你安装开发者工具包,也可以到官网下载

https://www.microsoft.com/en-us/download/details.aspx?id=36998

三者都安装好之后,先别急着动手,看下主要需要的文件,明白原理再去干活。

先来看一下Kinect添加的环境变量,右键计算机,属性,高级系统设置,环境变量

C++基于Kinect SDK+OpenCV+TV3D的动作表情捕捉程序开发探究Kinect篇(一)——VS环境搭建

C++基于Kinect SDK+OpenCV+TV3D的动作表情捕捉程序开发探究Kinect篇(一)——VS环境搭建

可以看到Kinect添加了一个KINECTSDK10_DIR的变量等于C:\Program Files\Microsoft SDKs\Kinect\v1.7,这是默认SDK的安装目录,之后要用到$(KINECTSDK10_DIR)这个变量就代表了上述地址,这样你在不同计算机上修改程序就不用改地址了。

打开这个目录,$(KINECTSDK10_DIR)\inc里存放的是头文件,我们主要用NuiApi.h     $(KINECTSDK10_DIR)\lib\x86里存放的是库文件Kinect10.lib(简单说头文件就是一些告诉程序你需要用到什么东西,但是这些东西具体是什么写程序的时候没必要管它,我只知道有这么个东西,知道怎么用就行,具体什么样保存在库文件里。比方说早上我去桌椅店让他给我做副椅子,我告诉老板椅子要干什么,多重,椅子坐多宽多高(头文件声明),老板便根据这个参数去作椅子,晚上椅子做好了,或者开始发挥用处时,把叫过来人往上一坐,才知道这个人具体啥样。(库文件实现))

C++基于Kinect SDK+OpenCV+TV3D的动作表情捕捉程序开发探究Kinect篇(一)——VS环境搭建

然后就可以制作第一个Kinect程序了

打开Visualstudio 2012,选择新建项目

C++基于Kinect SDK+OpenCV+TV3D的动作表情捕捉程序开发探究Kinect篇(一)——VS环境搭建

选择控制台应用程序,名称设置为hellowKinectC++基于Kinect SDK+OpenCV+TV3D的动作表情捕捉程序开发探究Kinect篇(一)——VS环境搭建

之后确定,完成,就创建了第一个程序工程

右键选择hellowKinect,选择属性

C++基于Kinect SDK+OpenCV+TV3D的动作表情捕捉程序开发探究Kinect篇(一)——VS环境搭建

选择C++目录

包含目录添加头文件目录地址$(KINECTSDK10_DIR)\inc;

库目录添加库文件目录地址$(KINECTSDK10_DIR)\lib\x86;

不要忘记最后分号

C++基于Kinect SDK+OpenCV+TV3D的动作表情捕捉程序开发探究Kinect篇(一)——VS环境搭建

选择连接器-输入

把库目录链接进来,上面步骤写的是目录,这里写库文件名Kinect10.lib; 不要忘记最后的分号

C++基于Kinect SDK+OpenCV+TV3D的动作表情捕捉程序开发探究Kinect篇(一)——VS环境搭建

点击确定,至此Kinect环境就搭建好了

下一节我们写个简单的程序测试一下,让程序输出颜色图像数据