随着目前AR/VR应用市场的兴起,与体感感应相关的技术越来越受到国内一线硬件厂商的青睐!本系列的博客,我们将介绍如何基于qualcomm平台使用微软的kinect传感器进行体感技术的开发,(由于篇幅较长,会分成多篇博客详细介绍)正所谓工欲善其事,必先利其器,我们先从Kinect的开发环境搭建开始。
一.Kinect简介
Kinect,全称为Kinect for Xbox 360,是由微软开发并应用于Xbox
360 主机的体感设备。它让玩家不需要手持或踩踏控制器,而是使用语音指令或手势来操作 Xbox360 的系统界面。但在技术发烧友的努力下,开始被逐步应用于更广的图像识别领域。
1.Kinect硬件:Kinect有三个镜头,中间的镜头是 RGB 彩色摄影机,用来采集彩色图像,最大支持1280*960分辨率成像;左右两边镜头则分别为红外线发射器和红外线CMOS
摄影机所构成的3D结构光深度感应器,用来采集深度数据(场景中物体到摄像头的距离),而红外摄像头最大支持640*480成像。Kinect还搭配了追焦技术,底座马达会随着对焦物体移动跟着转动。Kinect也内建阵列式麦克风,由四个麦克风同时收音,比对后消除杂音,并通过其采集声音进行语音识别和声源定位。
图1 Kinect硬件实物图
2.Kinect软件开发环境:
Kinect目前支持windows与android两大系统,关于kinect在android系统的使用会在接下来的博客中介绍,本文先介绍kinect在windows中的使用。kinect在windows上的软件开发环境,目前流行以下两种:
2.1.微软官方的SDK:Kinect
for Windows SDK Beta,特别是可以使用 C# 与.NETFramework 4.0 来进行开发。Kinect for Windows SDK主要是针对Windows7设计,内含驱动程序、丰富的原始感测数据流程式开发接口、自然用户接口、安装文件以及参考例程。Kinect for Windows SDK可让使用C++、C#或VisualBasic语言搭配MicrosoftVisualStudio2010工具的程序设计师轻易开发使用。
Kinect
for Windows SDK Beta下载地址:
2.2.非官方SDK:SensorKinect
+ NITE + OpenNI2+VS2010,其中SensorKinect是Kinect的驱动;NITE是PrimeSense提供的中间件(目前已有新的工具可替代,详情可上http://openni.ru/files/nite/index.html),可以分析Kinect读取的资料,输出人体动作等;OpenNI(opennatural
interface开放自然交互,目前已更新到OpenNI2)是一个多语言,跨平台的框架,它定义了编写应用程序,并利用其自然交互的API。可以到这里下载。从名字判断其终极目标大约是实现少数派报告的效果,从目前放出来的一些demo,恐怕已经超越了这个终极目标。它不是专为Kinect开发,但有Kinect的生产商PrimeSense的支持。而此种方式也是本博客准备介绍的使用方式(毕竟要在高通平台上实现,开源的OpenNI2更适合)。
二.win 7 系统配置kinect开发环境
1.SensorKinect:首先进入http://www.microsoft.com/en-us/k ... velop/overview.aspx下载Kinect的驱动,按正常步骤安装驱动后,接入Kinect就会发现灯亮可驱动。
2. OpenNI2:下载地址:http://openni.ru/openni-sdk/index.html直接下载安装即可。
图2 选择OpenNI下载
3. NITE:下载地址:http://openni.ru/files/nite/index.html直接下载安装即可
4. VS2010:全称是Microsoft Visual Studio 2010,相信大家都很熟悉这个windows平台的开发工具。这里主要介绍的是在VS2010使用OpenNI需要进行的必要配置:
4.1 本人使用的是win7 64 位的系统,因此在安装OpenNI2后,安装程序自动生成的环境变量分别是:
OPENNI2_INCLUDE64=C:Program FilesOpenNI2Include
OPENNI2_LIB64=C:Program FilesOpenNI2Lib
OPENNI2_REDIST64=C:Program FilesOpenNI2Redist
注意:本人默认OpenNI2的安装路径,如果大家安装在别的盘符,路径将会相应改变,这点要注意下。
4.2 新建VS C++项目后,右击进入项目属性,进行以下配置:
【1】Configuration Properties,C/C++,Gerenal,在Additiaonal Include Directories项中添加$(OPENNI2_INCLUDE64)
【2】Configuration Properties,Linker,Gerenal,在Additiaonal Library Directories项中添加$(OPENNI2_LIB64)
【3】Configuration Properties,Linker,Input,在Additiaonal Dependencies项中添加openNI2.lib
4.3 值得注意的是win7 64位的系统,必须按下图将平台预先选择好,否则编译时会因为链接库失败而一直报一些莫名其妙的 错误。
图3 VS2010导入OpenNI工程
至此,kinect在windows上的开发环境我们基本搭建完毕,后面的博客我们将正式开始动手进行基于qualcomm平台的kinect程序开发。
|