2

我即将开始我的最后一年项目,该项目需要我开发 Kinect Fusion 算法。有人告诉我用 C++ 编写代码并使用 OpenNI API。

问题:

  • 我在网上阅读,但我仍然对如何开始感到困惑。我安装了 Microsoft Visual Studio 2012 Express 和 OpenNI,但我应该如何开始?(我被告知在开始项目工作之前先练习编码)
  • 如果我想练习和了解代码的工作原理以及 Kinect 如何响应代码,我应该如何开始有什么建议吗?因为我现在真的迷路了,走到了死胡同,不知道接下来要做什么,网上有很多我不太了解的信息。
4

2 回答 2

9

首先,如果你打算将 OpenNI 与 Kinect 一起使用,我建议你不要使用 2.0 版本,该版本可在官网获得。原因很简单,目前还没有驱动支持微软Kinect(OpenNI背后的公司——PrimeSense——只支持他们自己的传感器的驱动,这与Kinect不同,社区还没有开始写Kinect 驱动程序)。

取而代之的是从simple-openni 项目的下载页面获取该包——它包含了一切可以帮助你的东西:来自 1.5.x 行的库。

  • OpenNI 是准系统框架——它只包含用于自然接口数据处理的架构。
  • NITE 是 PrimeSense 的专有(免费软件)库,它提供代码将原始深度图像处理成有意义的数据——手部跟踪、骨骼跟踪等。
  • SensorKinect 是社区维护的驱动程序,用于使 Kinect 与 OpenNI 交互。

请注意,这些驱动程序无法控制 Kinect 的倾斜电机和 LED 灯。您可能需要为此使用libfreenect

至于入门,OpenNI 和 NITE 包都包含用于简单演示该技术的源代码示例。从一个开始并对其进行修改以满足您的需求是一个好主意。这就是我为实现自己的项目(使用 Kinect 控制 Google Chrome )所做的工作。

As for learning C++, there are tons of materials out there. I recommend the book "Thinking in C++" by Bruce Eckel, if you're a technical person.

于 2013-01-24T16:15:59.543 回答
0

有多个为 OpenNI 编写的示例,可在 GitHub 存储库中找到:https ://github.com/OpenNI/OpenNI

最好的起点是查看 OpenNI.org 上的资源页面然后是参考指南。然后处理几个示例——运行它们,逐步检查它们并修改它们以了解它们是如何工作的。

于 2013-01-24T16:08:53.310 回答