【问题标题】:What is the difference between OpenNI and OpenKinect?OpenNI 和 OpenKinect 有什么区别?
【发布时间】:2011-08-30 12:40:11
【问题描述】:

我正在考虑在我的一个项目中使用 Kinect,但我完全迷失在所有库之间。不知道具体是什么。最重要的是,我正在阅读有关 OpenNI 和 OpenKinect 的内容。但不知道他们的关系/差异。 PS。我使用的是 Ubuntu 或 Mac。

【问题讨论】:

    标签: kinect


    【解决方案1】:

    OpenKinect 是一个人的社区,而不是一个图书馆。 OpenKinect 社区发布了libfreenect Kinect 驱动程序。 libfreenect 和 OpenNI+SensorKinect 是两个相互竞争的开源库/驱动程序。 libfreenect(Apache 2.0 或 GPLv2)源自最初的、反向工程/破解的 Kinect 驱动程序,而 OpenNI+SensorKinect 源自开源 (LGPL) PrimeSense 代码。

    这两个项目都可以在 Windows、Linux (Ubuntu) 和 Mac OS X 上运行。这两个项目都允许您访问来自相机的彩色和深度图像。项目不兼容,不能同时使用。

    库之间的区别在于电机控制(libfreenect 有,OpenNI+SensorKinect 没有),以及与 NITE 中间件集成以支持更高级别的 NUI(仅限 OpenNI+SensorKinect)。这些差异往往会促使项目转向其中一个库。

    【讨论】:

    • 补充:OpenNI 主要由 Kinect 深度传感器技术背后的公司 PrimeSence 开发。这使它有点“官方”。另外值得一提的是,OpenNI 旨在与更广泛的传感器以及未来的 NUI 设备配合使用。
    • 更正:libfreenect 确实访问/使用 Kinect 的图像和深度注册。
    • Mankoff:很好——看来这个功能(FREENECT_DEPTH_REGISTERED 深度格式)是在 2011 年 10 月引入 libfreenect。答案已编辑。
    • libfreenect 和 OpenNI 能否执行丰富的处理,如分割和骨架跟踪? NITE 有什么用?
    【解决方案2】:

    我应该补充一点,OpenNI 2 使 OpenNI 无法用于 Windows 以外的任何其他设备。

    其他平台并未正式支持带有 Kinect 的 OpenNI 1.x,直到一个名为 avin2 的人创建了 SensorKinect 项目,该项目位于 OpenNI 之上并将 Kinect 的接口暴露给 OpenNI。 OpenNI 2.0 是一个重大的重构,除了 Windows 之外的 Kinect 不支持任何其他东西。 http://social.msdn.microsoft.com/Forums/en-US/kinectsdk/thread/a11ff6d9-7fbe-4636-8ff0-92d6220ac3f8/ 。在撰写本文时,OpenKinect 的最新 kinect(型号 1473)存在问题,导致设备无法使用。我不知道是否正在修复。

    因此,总结一下: -- 如果设备型号 1473 的问题得到解决,那么 OpenKinect 就是要走的路。而且,坦率地说,我不会相信针对特定平台的任何其他东西。 -- 在解决这个问题之前,您唯一的选择是使用 OpenNI 1.5 + SensorKinect,它已经过时,并且已经停止开发,但实际上它是唯一适用于所有 kinect 模型的东西。

    【讨论】:

    • 现在不再是这种情况了:libfreenect 带有一个桥接器,使它可以作为OpenNI2 driver 工作。
    【解决方案3】:

    虽然这个问题是几年前的问题,但我想补充一些我知道的内容。

    我很业余,因此让 Kinect 在 Mac 上工作对我来说总是很困难。我从 github 下载了代码并遵循了多个说明,但我无法让它正常工作。我记得大约 10 个月前,我在 Mac 上获得了 Kinect、OpenNI 工作,但它非常不稳定。 glview 示例程序确实显示了来自 Kinect 的深度和彩色图像,但它时常失败。

    最近,我发现一个人为 openni(1 和 2)创建了一个自制公式,以及 NiTE 和 libfreenect。我试过了,它在 Mavericks 10.9.2 + 10.9.3 上完美运行,所以如果你还没有让 Kinect 正常工作,看看: https://github.com/totakke/homebrew-openni

    【讨论】:

      【解决方案4】:

      在撰写本文时,OpenNi 与 Kinect for Windows 兼容,而 libfreenect 不兼容。

      【讨论】:

      • OpenNI 的 Kinect for Windows 支持在 Linux 和 OS X 上非常不稳定。
      猜你喜欢
      • 2010-10-02
      • 2011-12-12
      • 2010-09-16
      • 2012-03-14
      • 2012-02-06
      • 2011-02-25
      • 2011-11-22
      • 2015-03-26
      • 2013-08-19
      相关资源
      最近更新 更多