Kinect开发教程一:OpenNI的安装与开发环境配置

Kinect作为新一代的体感设备,小斤就不多介绍咯,微软日前也发布了相应的官方SDK,用以开发Kinect在PC上的应用。但就目前的情况而言,微软的KinectSDK只能在Win 7平台上使用,因此小斤选择了OpenNI作为Kinect开发的第一块踏脚石,它是目前已被广泛使用和认可的开源Kinect开发库。

 

准备

        首先大家需要下载三样东西:

        第一,OpenNI ,小斤下载的是这个版本http://www.openni.org/downloadfiles/opennimodules/openni-binaries/21-stable ,注意要下载Development Edition,这样才有Sample可以测试查看。此外,源码也可以在GitHub上看到:https://github.com/OpenNI/OpenNI

        第二,SensorKinect,它就是Kinect的驱动了,可以在https://github.com/avin2/SensorKinect 的Bin中找到。

        第三,NITE,这是PrimeSense 提供的中间件,可以分析Kinect读取的资料,输出人体动作等等。地址:http://www.primesense.com/?p=515 (用来拓展OpenNI涉猎范围以外的功能)

 

安装

【1】下载完毕后,先把Kinect放在一边,安装OpenNI。

(小斤安装OpenNI后,安装SensorKinect过程中,会弹出”Please install OpenNI version….”之类的错误,重启后再一次点击SensorKinect安装就解决了。

有同学说安装OpenNI的Windows用户一定要用管理员身份跑安装程序才行,没有的话有一部分文件无法写入,会导致之后的错误。)

 

【2】 安装SensorKinect驱动,装完,把Kinect插上,此时系统就会自动开始搜索驱动了,如果没有搜索到,那么需要指定驱动目录了。假设 SensorKinect默认安装在默认路径,指定驱动目录C:\ProgramFiles\Prime Sense\Sensor\Driver。

       驱动安装成功的话,在设备管理器中,会出现:


 


【3】安装NITE,装完后,由于NITE定义的320*240分辨率与SensorKinect的640*480不同,这边有个关键步骤,假设安装在默认路径:

       从"c:\Program Files\PrimeSense\Sensor\SampleXMLs\NITE\Data\" 里复制所有XML文件到 "c:\ProgramFiles\Prime Sense\NITE\Data\" 覆盖
  从"c:\ProgramFiles\Prime Sense\Sensor\SampleXMLs\OPENNI\Data" 里复制所有XML文件到 "c:\Program Files\OpenNI\Data" 覆盖


       此外,NITE是需要序列号的,但其官网免费提供了一个:0KOIk2JeIBYClPWVnMoRKn5cdY4=

        我们只要将"c:\Program Files\Prime Sense\NITE\Data\"目录下所有配置文件,把Licenses部分替换即可:

   <Licenses> 
     <License vendor="PrimeSense"key="0KOIk2JeIBYClPWVnMoRKn5cdY4="/> 
  </Licenses>

 

大柏树按:注意,这里有两个文件夹!PrimeSense和Prime Sense,内容不同。原作者貌似有几个地方路径空格没有注意!为了尊重原作者的意图,本人在此打个补丁。为了免去大家修改找文件之苦,本人把改完的xml文件改完打包上传供大家使用,下载地址:http://ishare.iask.sina.com.cn/f/25283202.html

注:如果你看不到Prime Sense文件夹,或者找不到那些XML文件,说明你安装的版本不需要这一步骤,可略过。新版安装比较容易,可参看http://blog.csdn.net/cb_cb/article/details/7725098


测试

【OpenNI】

        如果安装在默认路径下,测试程序可以在C:\Program Files\OpenNI\Samples\Bin\Release下找到,这里小斤使用的是NiViewer.exe和NiSimpleViewer.exe,都是显示深度图,如果运行没问题就可以咯。另外,NiUserTracker这个程序也很有趣,可以跟踪你的人体,前提是它捕捉到你人体后,你做出一个标定动作(举起双手)并维持一段时间。

       SimpleViewer:

 

       UserTracker:

 

        如果安装一切正常,但这些例子无法显示结果,可以关闭防火墙试试,某些防火墙的设置会阻拦OpenNI的组件读取摄像头 。


【NITE】

        同样的,如果安装在默认路径下,测试程序可以在C:\Program Files\PrimeSense\NITE\Samples\Bin\Release下找到,小斤玩了下StickFigure,这个程序能在一个空间中显示出骨架。


VS开发环境

        要使用VS进行开发的话,需要配置include和lib路径。

        进入VS,点击菜单Tools,进入Options。

        在Projects and Solutions中,选择VC++Directories。

        假设OpenNI安装在默认路径下,则include files加入C:\Program Files\OpenNI\Include,Library files加入C:\ProgramFiles\OpenNI\Lib。

        这样VS的开发环境就配置好了。如果建立了OpenNI的开发项目,则还需要在项目属性——Linker——Input 中的Additional Denpendencies,加入openNI.lib。

        (以上配置在VS2010中有些出入,include和library可能被移到项目属性中配置)

 

        与OpenNI的Sample使用OpenGL不同,小斤之后的教程范例中,会使用OpenCV进行图像的输入输出,以简化程序(如果你看了OpenNI Sample的代码,会发现代码被OpenGL占了一大半)。大家可以在http://www.opencv.org.cn/ 上找到安装配置方法,小斤就不赘述了。(当然大家也可以直接无视范例中的OpenCV输出部分,把OpenNI读取的数据直接print出来。)

 

----------------------------------

作者:小斤(陈忻)

本文属于原创文章,如需转载引用请注明原文作者和链接,谢谢。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值