首先,如果你打算将 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.