Kinect开发初始状况

Kinect开发

一、硬件介绍

  Kinect目前有两个版本v1和v2。

      2009   Kinect 仅能用于xbox游戏机(中国大陆尚未销售)

      2011、6   微软发布Kinect SDK beta版

      2012、2月   发布了Kinect for Windows(v1)(已停产)与SDK1.0

        5月   发布SDK1.5(支持人脸及坐姿半身)

         7月   OpenNI2.2 Beta发布

        10月     SDK1.6(支持红外图像)

      2014、10月   第二代Kinect for Windows(v2),不向下兼容

                 上海自贸区发布Kinect for xboxOne(仅用于游戏机)

      微软对此进行简化,发布” Xbox One专用Kinect感应器”,直接用于游戏机,但加个适配器后又相当于v2。

      光从时间上就能看出,其实OpenNI2是无法直接支持Kinect v2的。

      发布SDK2.0(手势操作、建模)

二、各项资料

   SDK开发:

官方网站

Kinect开发论坛   Kinect开发中文论坛

一个逗逼的开发笔记

 

三、开发流程知识

Kinect有两类开发方式:微软官方提供的SDK和开源的OpenNI开发。

·Kinect是由微软生产的,因此SDK是很稳定的。

·同时Kinect里面使用了PrimeSense公司(致力于深度领域)的芯片,PrimeSense自己推出了开发工具OpenNI,旨在提供一个普遍的自然交互开发平台(自然交互就是人如何自在地操控电脑)。因此按理说OpenNI并不直接支持Kinect。

·实际上OpenNI1.x版本确实不能直接支持Kinect v1(那时候只有v1),而通过合适的驱动就能使其支持(这驱动指的是OpenNI  Drivers文件夹下的Kinect.dll文件)。当时人们使用的是avin大神开发的SensorKinect驱动。

·OpenNI2版本则直接使用SDK中的驱动,只要有SDK就不用自己下载驱动啦~

·而我们使用的V2则又需要自己想办法搞驱动了···我尝试了libfreenect、OpenNI2-Kinect2Driver-master、openni2_kinect2_driver-master_teacher这些github上的项目,最好的情况是使得openNI的一部分示例程序能够运行,能够正常获取视频流。但当加入Nite中间件以获取骨骼数据时,编译环节还是出了问题。从此我毅然投入了SDK开发的行列···

   ·网上说SDK开发比OpenNI开发的缺点就是没有手势识别啊脸部识别啊之类的功能(这些全是依靠openNi中间件实现的),这大概是在说以前版本的SDK,目前的SDK稍稍多些东西了。对于我们项目来讲,其实只要有骨骼识别就够了。

   ·SDK开发一般是在.Net框架下的,因此可以用C++或C#开发都可以(在.Net框架下的都叫托管语言)。如果不想在.Net框架下开发,想使用单纯的C++,其实就麻烦一点了,因为微软它为了推崇自己的.Net框架,给的示例程序全是在此环境写的,而非托管C++就只是简单给个接口手册(毕竟不是亲生的),我们能获得的资料就少很多了。

  ·还有界面的问题,有很多库都可以实现界面,比如opencv,WPF等等。没事这不重要。不过在编写程序的过程中我们还说不定会用得到opencv以进行算法设计。还有就是考虑是否需要Unity以显示三维人像。任务还挺多的哈哈。

你可能感兴趣的:(深度相机)