今天跟博主@奇奇萌讨论一些有关OpenNI 2的安装问题,下面根据自己今天下午的安装做个总结,和大家分享,水平有限,请大家多多指导!
在OpenNI 1.X的时候,OpenNI的整个framework是采用类似plug-in的机制,让开发者可以利用OpenNI所提供的标准框架,使用中间件(Middleware)提供的人体跟踪技术、手部跟踪等功能,不过在OPenNI 2 SDK的时候,为了简化架构、增加开发的弹性,所以把这个架构移除了,现在的整个框架如下图所示(截取于OpenNI官网):
上图中绿色部分就是OpenNI 2所提供的功能,但中间件已经和之前的版本大不相同了,具体可以參考官方的
目前本人了解到的信息主要体现在:
1. 目前所提供的API只有C/C++(绝大部分C++);还没有提供.NET Framework、java等的语言特性;
2. 由于结构和功能都变简单了,所以OpenNI 2的安装相对于1.x要简单了,且OpenNI 2和之前的版本可以同时安装共存,同时使用。
3. 关于驱动的问题,如果你使用的ASUS Xtion系列的感应器或者是PrimeSense自己的感应器,OpenNI 2 SDK本身就包含了这些必要的驱动,不需要借助于第三方驱动工具;对于你使用的是微软的Kinect for Xbox 360 或者之后的Kinect for Windows感应器的话,可以借助微软官方的Kinect for Windows SDK开发工具(目前是),而之前的SensorKinect是针对OpenNI 1.x开发的,所以在OpenNI 2的情况下是多余的,且无法使用,但SensorKinect会不会针对OpenNI 2做进一步开发,那就不知道了。
4. 对于之前开发的程序,应该没办法在OpenNI 2SDK下正常运行,具体如何迁移到2 SDK中,官网有提供说明。
下面是安装OpenNI 2 SDK的简要步骤:
一、下载微软官方的Kinect for Windows SDK开发工具(目前是)并安装;
二、下载,并安装;
三、下载并安装;
四、 运行“NiViewer”
结果如下所示:
注:由于本人不帅巨丑,所以我把右边显示的彩色部分删去了,如果显示的是其它的,表示没安装成功,重新安装吧~~~
五、运行NITE 2 提供的Samples/Bin下的SimpleHandTracker.exe
结果如下所示:
获取的是第一只手的三维坐标信息。
六、安装之前的版本或者和Kinect for Windows SDK 共存的问题,可以参考@奇奇萌的博文。