现在的位置: 首页 > 综合 > 正文

Kinect sdk与OpenNi驱动的区别

2019年01月06日 ⁄ 综合 ⁄ 共 1142字 ⁄ 字号 评论关闭

Kinect sdk与OpenNi驱动的区别

通过试玩过微软的Kinect sdk与OPenNi的Kinect之后,下面对两者作了一些比较。注意:微软的sdk版本是最初的beta版,与最新的released版本会有所出入。Kinect sdk & OpenNi

Kinect sdk优点:

  1. 支持音频
  2. 支持马达
  3. 全身追踪。不需要标定姿势(投降姿势);包括头,手,脚和锁骨;看起来处理关节闭塞更好些。
  4. 支持多传感器(多台Kinect)
  5. 简化安装(安装更容易)
  6. 当新的视频或深度图有效时,SDK会有可用事件

Kinect sdk缺点:

  1. 非商用(商业需要付费)
  2. 只能追踪全身(不包含特定的追踪模式:例如只追踪手)
  3. 深度图与彩色图不提供自动对齐
  4. 全身追踪。关节只有坐标数据,没有旋转数据 (不过在v1.5版本已经解决);只能追踪全身,不包含特定的追踪模式:例如只追踪手或上半身;
  5. 和OpenNI/NITE相比,看起来更消耗CPU(没有采用适当的基准);
  6. 不包含手势识别系统 ;
  7. 不支持PrimeSense和华硕的WAVI Xtion硬件平台,只支持Win7(32位和64位);
  8. 不支持Unity3D游戏引擎;
  9. 不支持数据记录或回放到硬盘 ;
  10. 不支持红外线视频数据流
  11. 没有此类发生事件,例如当一个用户被侦测到或用户丢失等等。

OpenNi优点:

  1. 可以商用(不需要付费)
  2. 包含手部追踪框架
  3. 包含手势识别框架
  4. 可以自动对齐深度图数据到彩色图数据
  5. 全身追踪。包含坐标数据和旋转数据;支持特殊跟踪模式:例如:只追踪手和头或上半身
  6. 和微软的sdk相比消耗的CPU更少
  7. 支持Primesense和华硕的WAVI Xtion硬件平台
  8. 支持多传感器但是需要安装和枚举,这一点有点古怪
  9. 支持Windows(包括Vista&XP&WIN7),Linux系统和苹果操作系统(翻者:也支持Android)
  10. 自带的代码全面支持Unity3D游戏引擎,也支持Ogre
  11. 支持数据记录到硬盘或从硬盘回放数据
  12. 持红外数据流
  13. 有此类发生事件,例如:当一个用户被侦测到或者用户丢失。(提供回调函数供开发者使用)

OpenNi缺点:

  1. 不支持音频
  2. 不支持马达,马达是微软的专利,所以primesense公司不想惹微软。
  3. 全身追踪;缺乏以下关节:头,手,脚,和锁骨;需要一个标定姿势(投降姿势)才能开始追踪骨骼(注意:标定数据是可以存储和提取的方便重用,不过这在1.5版本已经解决,已经不需要手势)
  4. 关节闭塞没有被估算
  5. 支持多感应器但是需要安装和枚举,这一点有点古怪。
  6. 需要单独安装NITE

编后语:
微软在骨骼识别和音频方面还是比较有优势,而OpenNI似乎更适合做一些带颜色的点云的工作,和在非Win7平台来开发商业项目。如果你想开发基于上半身或手识别的项目,可以使用OpenNI和NITE;但如果是全身识别毋庸置疑微软的SDK是最好的,然而你必须自己编写你自己的手势识别代码。

抱歉!评论已关闭.