如何在使用Kinect时解决PCL中的OpenNi依赖错误?

How do I solve this OpenNi dependency error in PCL when using the Kinect?

本文关键字:中的 PCL OpenNi 依赖 错误 解决 Kinect      更新时间:2023-10-16

虽然我刚刚注册了Stackoverflow,但我已经使用了answers.ross.org、pcl-users.org和其他类似的网站。我会尽量提供尽可能多的信息,因为尽管类似的问题在谷歌搜索中出现,我找不到答案。

我正在运行Ubuntu 12.04,我已经安装了PCL 1.7通过他们的一组说明在这里:http://pointclouds.org/downloads/linux.html

在教程之后,我能够让"阅读器"answers"编写器"示例程序与他们提供的示例PCD一起工作。我还能够成功地使用cmake编译一个更高级的程序:http://pointclouds.org/documentation/tutorials/normal_distributions_transform.php#normal-distributions-transform

每当我尝试制作iograbber或任何其他涉及Kinect的可视化程序时,问题就开始了。这是我特别想使用的:http://pointclouds.org/documentation/tutorials/openni_grabber.php#openni-grabber重复,没有失败,这一直是我在使用cmake时遇到的警告:

——检查模块'openni-dev'

——package 'openni-dev' not found

——无法找到openni (missing: OPENNI_INCLUDE_DIRS)

** WARNING ** io与openni相关的功能将被禁用

它在与检查它的各个组件相关的一行中多次给出此警告。现在您可能会说,"愚蠢的用户,为什么不直接安装openni-dev呢?"

当我最初使用sudo apt-get install -y openni-dev(注意我很快就知道的-y)时,它删除了我的大部分ROS/PCL文件。线程在这里:http://www.pcl-users.org/How-can-I-get-PCD-files-from-a-streaming-Kinect-td4033721.html它打破了一些软件包,长话短说,我发现了天赋,最终我让自己回到了正方形1。

问题是,我很确定我已经安装了openni 1.5.4,但不知何故没有找到它。当我转到我的usr/lib文件夹时,它只显示一个OpenNI2文件夹,而不是一个OpenNI文件夹。我知道openni-dev在PCL和ROS上出现了很多问题,所以我希望这个答案也能帮助到其他人。在你问之前,我正在复制/粘贴CMakeLists和c++文件,就像我找到它一样。我没有太多的编程经验,所以我希望我没有错过一些明显的东西。

如果您使用kinect v2,则没有OpenNI支持。所以你可以使用这个抓取器:https://github.com/UnaNancyOwen/KinectGrabber/tree/Kinect2Grabber