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>
测试
【OpenNI】
如果安装在默认路径下,测试程序可以在C:\Program Files\OpenNI\Samples\Bin\Release下找到,这里小斤使用的是NiViewer.exe和NiSimpleViewer.exe,都是显示深度图,如果运行没问题就可以咯。另外,NiUserTracker这个程序也很有趣,可以跟踪你的人体,前提是它捕捉到你人体后,你做出一个标定动作(举起双手)并维持一段时间。
SimpleViewer:
UserTracker:
如果安装一切正常,但这些例子无法显示结果,可以关闭防火墙试试,某些防火墙的设置会阻拦OpenNI的组件读取摄像头
。
【NITE】
同样的,如果安装在默认路径下,测试程序可以在C:\Program Files\OpenNI\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出来。)
----------------------------------
作者:小斤(陈忻)
本文属于原创文章,如需转载引用请注明原文作者和链接,谢谢。
分享到:
相关推荐
Unity结合Kinect2体感开发:KinectForWindows_UnityPro
Kinect+OpenNI学习笔记,系统的介绍了,如何在OpenNi下使用Kinect,对于基于Kinect的开发,很有帮助,能够帮助入门者学会如何使用Kinect,对于以后使用其他平台开发,也是大有裨益的。
基于Kinect的openNI开发包,直接安装可用,适合学习Kinect开发的的使用
openNI路线下kinect驱动安装包,一式四份,包含:OpenNI,nite,sensor,sensorKinect.吐血收集整理,内有安装教程,确保各位一次安装完全,为开发节省时间,减少精力浪费。
OpenNI2-Kinect2Driver OpenNI2 Kinect v2 驱动程序注意请您自己承担风险使用还在实验阶段。 它只是运行,但可能缺乏功能或可能有问题。 不与 NiTE 一起运行。 NiTE 需要我们无法实现的专有驱动程序参数。安装安装 ...
OpenNI 2 Kinect v2 驱动程序注意:这是驱动程序的陈旧版本。 请在以下位置找到最新版本: : 贡献者米格尔·安吉尔·维科接触Miguel Angel Vico ( )概括此 OpenNI 2 驱动程序增加了对 Microsoft Kinect v2 传感器的...
Kinect运用OpenNI产生点云 http://blog.csdn.net/opensource07/article/details/7804246
本文是整理中的Kinect for Windows v2 的C++ 程式开发教程。内容包括但不限于: • Kinect for Windows SDK v2 基本介绍 • Kinect for Windows SDK v2 C++ API 简介 • K4W v2 C++ Part 1:简单的深度读取方法 • ...
用kinect开发,用openNI进行显示,非常管用的openni安装发法,一步步安装,会成功的!
openNI路线下kinect驱动安装包,一式四份,包含:OpenNI,nite,sensor,sensorKinect.吐血收集整理,内有安装教程,确保各位一次安装完全,为开发节省时间,减少精力浪费。
本报告首先翻译了一篇介绍Kinect相机的标定和成像原理的文章,作者在此基础上运用OpenNI设计了一个从环境中提取人体的程序。
Kinect开发教程.pdf
kinect OpenNI相关资料具体有:OpenNI_用户手册.pdf OpenNI_UserGuide.pdf OpenNI.chm NITE Controls 1.3 - Programmer's Guide.pdf NITE Algorithms 1.3.pdf NITE 1.3.0 - API Reference.chm
《Kinect应用开发实战:用最自然的方式与机器对话》一书的源代码
详细讲述了如何用OpenNI读取多个Kinect数据,并且可以测试一台PC最多可以连接多少个Kinect
使用 OpenNI2 访问 Kinect ASUS Xtion 和其他 OpenNI 相机,并通过 ROS image_transport 发布 rgb 和深度流 这个包不能开箱即用,取决于成功安装 OpenNI2 从这里获取: : 如果要在 ARM 处理器上安装 OpenNI2,请...
kinect for windows 开发环境配置,Kinect初体验,让你感受一下虚拟现实的开始。
优化过的OPENNI2,用于实现深度图和彩色图对齐.具体可参考blog http://blog.csdn.net/janestar/article/details/38824375 相关内容
OpenNI 的安装
本例子基于openNI和opencv开发。代码全。因为大小的限制,工程需要自己重新建新工程。只要把代码移植过去就ok。有什么不懂的,可以加本人QQ:308499571.