【问题标题】:viewing 3D point cloud using APIs by Open source PCL通过开源 PCL 使用 API 查看 3D 点云
【发布时间】:2017-12-31 05:50:01
【问题描述】:

我使用 ToF(飞行时间)相机获取 XYZ 格式的深度数据。

为了作为 3D 点云的可视化目的,我想使用http://pointclouds.org/documentation/tutorials/pcl_visualizer.php 中提到的开源 PCL 提供的 API

为了构建在单独的显示线程中运行的点云 GUI,可以查看什么好的入门教程示例 (.cpp) 文件?

【问题讨论】:

  • 3 年前我用旧的 PCL 做类似的事情。请在此处查看示例代码:bitbucket.org/Logrus/cv-project/src/…
  • 感谢您提供参考代码。您似乎在 Linux 平台上构建了您的应用程序。我正在 Windows 平台上构建它。因此我想知道我是否需要安装 PCL 或者我可以从 pointclouds.org 的网站获取预构建的 dll 库和头文件?
  • 您可以获得预建版本。不幸的是,我现在没有带有 PCL 的 Windows 系统,所以我不确定它有多难。但它应该可以按照官方说明进行管理。有人整理了有关如何在 Windows 上使用 PCL+CMake 的视频说明:youtube.com/watch?v=jcBVzAnrH70 希望它们对您有所帮助。
  • 我可以使用 cmake 编译 pcl1.8.1,使用 cloudviewer 演示项目中的 Cmakelists.txt 文件。但是,在 VS2017 中构建 .sln 解决方案时出现链接错误。知道可能出了什么问题吗?
  • 哇,对我的问题投反对票。伟大的。今天完成了一些事情。

标签: c++ visual-studio point-cloud-library


【解决方案1】:
  1. 看起来您没有链接 PCL 可视化库文件,可能还没有链接其他文件。在项目属性 > 链接器 > 输入 > 附加依赖项中执行此操作。 PCL lib 目录的路径应在项目属性 > VC++ 目录 > 库目录中指定。同时,您的 PCL 包含目录的路径应在项目属性 > VC++ 目录 > 包含目录中指定。
  2. PCL 函数和类型以点类型为模板。因此,您将使用pcl::PointXYZ 作为所有函数的点类型。
  3. 没有。您的将更类似于 CloudViewer tutorial 中的简单云可视化示例。
  4. 不要将 PCL .h 和 .cpp 文件复制到您的解决方案中。您 #include 保留在其安装位置的 PCL 标头,并链接到 PCL lib 文件(请参见上面的 1。)
  5. 无。如果 PCL bin/ 目录不在您的 $PATH 中,则将 PCL .dll 放在您的 .exe 旁边。

确保将发布库与发布构建匹配,将调试库与调试构建匹配。确保您正在为 Win32 或 x64 构建,具体取决于您安装的预安装二进制文件。

【讨论】:

  • 回顾我的一些被否决的问题,我无法真正理解我的问题被否决。我能够传达我精确的编程问题,并且感谢您的回答(以及 Jan Murakami 的 cmets),我能够在解决问题方面取得进展。我认为问题太长或框架不正确。关于如何“美化”问题的任何想法?
  • @tauseef_CuriousGuy 如果我猜的话,可能是因为介绍性段落和代码 sn-p 与问题无关,根本不需要在那里。然后问题都是“我如何让一个工作的 PCL 构建环境启动并运行”的形式,这对于 SO 来说可能被认为过于宽泛。
猜你喜欢
  • 1970-01-01
  • 2018-11-19
  • 2015-11-16
  • 2013-12-07
  • 1970-01-01
  • 2016-05-18
  • 2022-10-20
  • 1970-01-01
  • 2023-03-20
相关资源
最近更新 更多