Kinect开发初始情况

Kinect开发

1、硬件介绍html

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

      2009   Kinect 仅能用于xbox游戏机(中国大陆还没有销售)github

      20十一、6   微软发布Kinect SDK beta版算法

      20十二、2月   发布了Kinect for Windows(v1)(已停产)与SDK1.0windows

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

         7月   OpenNI2.2 Beta发布工具

        10月     SDK1.6(支持红外图像)开发工具

      201四、10月   第二代Kinect for Windows(v2),不向下兼容网站

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

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

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

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

2、各项资料

   SDK开发:

官方网站

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

一个逗逼的开发笔记

 

3、开发流程知识

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以显示三维人像。任务还挺多的哈哈。