代码之家  ›  专栏  ›  技术社区  ›  dbyrne

开放性成熟

  •  6
  • dbyrne  · 技术社区  · 14 年前

    我有兴趣为微软Kinect控制台编写一些自制代码我有几个应用程序,我认为可以很好地转化为平台。我一直在考虑用 OpenKinect drivers and libraries . 很明显这会是一个很大的工作,但我想知道到底有多少。有没有人有使用OpenKinect的经验?你是只从设备获取原始的视频/音频数据,还是有人编写了更高级别的抽象来简化常见的任务?

    3 回复  |  直到 14 年前
        1
  •  13
  •   Josh Lee ZZ Coder    13 年前

    这个 OpenKinect 库基本上是一个驱动程序,至少现在是这样 不要期望它有多高的功能 . 你或多或少会得到 原始数据 从两个 深度 以及 视频 摄像机。
    这基本上是每次帧到达时回调函数中接收的数组。

    您可以按照 OpenKinect website ,安装和尝试它非常快,您可以使用 glview 提供的应用程序以获得可能的感觉。 我用 opencv 虽然我没有太多的计算机视觉背景,但我得到了非常酷的结果,所以我只能鼓励你自己尝试!


    或者,如果您正在寻找更高级的功能 OpenNI framework 本周刚刚发布,提供了一些令人印象深刻的高级算法,如 骨架跟踪 还有一些 手势识别 . 框架的一部分是PrimeSense的专有算法(比如强大的骨架跟踪模块…)。我还没有尝试过,也不知道它与kinect和不同操作系统的集成有多好,但由于来自不同群体(OpenKinect、Willow Garage…)的一帮人正在努力工作,这在一周内不应该成为问题。

        2
  •  12
  •   scooz    14 年前

    在进一步阐述Jules Olleon写的东西时,我与OpenNI合作过( http://www.openni.org )上面的算法(NITE),我强烈推荐使用这些框架。这两个框架都有很好的文档记录,并且附带了许多示例,您可以从中开始。

    基本上, OpenNI公司 抽象出使用传感器及其驱动程序的底层细节,并为您提供一种从“生成器”(例如,xn::depth generator用于获取原始深度数据)获取所需内容的方便方法。OpenNI是开源的,可以在任何应用程序中自由使用。OpenNI还为您处理平台抽象。从今天起,OpenNI在Windows 32/64和linux上得到了支持,运行良好,并且正在被移植到OSX上。绑定可用于多种编程语言(C、C++、.NET、Python和其他一些我认为的)。

    黑夜 在OpenNI之上构建了额外的接口,可以提供更高级别的结果(例如跟踪手点、骨骼、场景分析等)。你会想检查一下NITE的许可证的微妙之处,看看你何时何地可以使用它,但它可能仍然是目前最容易和最快的分析方法(例如骨架)。NITE是封闭源代码,因此PrimeSense需要提供二进制版本供您使用。目前提供windows和linux版本。

        3
  •  1
  •   Sahand Seifi    11 年前

    我没有与OpenKinect合作过,但我已经与OpenNI和SensorKinect合作了几个月,用于我的研究。如果您打算使用Kinect的原始数据,它们在提供深度和视频方面非常有用(它们不支持运动控制)。我在Windows 64位和Ubuntu 32位使用了C++和OpenGL,几乎没有修改代码。如果你懂基本的c++的话,学习起来很容易。安装它可能有点头疼。

    对于骨骼检测、手势识别等更高级的功能,我强烈推荐使用NITE和OpenNI等中间件或此处提供的中间件: Middlewares developed around OpenNI 而不是重新发明轮子。一旦OpenNI开始工作,Nite也很容易使用;例如,联合识别是大约10-20行额外的代码。

    我向年轻的自己推荐的是学习和使用一个基本的游戏引擎(例如Unity),而不是直接使用OpenGL。它将给你更好、更愉快的图形,更少的麻烦,还将使你能够轻松地将你的程序与其他工具集成,如 PhysX . 我没有试过,但我知道Unity中有一些插件可以使用Kinect驱动程序。