问题标签 [pcl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
20 浏览

point-cloud-library - 如何使用描述符比较点云中的相似性?

我有两个 .pcd 文件,并使用 FPFH 估计器提取了特征。现在我想比较这些描述符,这可能吗?如果是这样,那我该怎么做?

任何帮助,将不胜感激!

谢谢你。

0 投票
0 回答
40 浏览

c++ - 如何编译和链接 PCL 库的略微更改的代码?

我不是编译 C++ 代码的专家,我对 PCL 库中的一个过滤器的最小扩展有疑问。我按照此处sudo apt install libpcl-dev的说明在 Ubuntu 20.04 上安装了 PCL 库,我可以成功地使用它在我的 ROS 相关代码中执行不同的操作。

但是,我想通过添加几行代码来稍微改变voxel_grid的行为,以便它以不同的方式计算此过滤器质心中的某些字段(此处的细节无关紧要)。我通过仅将这两个文件下载到我的 ROS 项目中来合并相关的文件和.cpp 文件 ,并将过滤器的名称从更改为(这样我的代码不会覆盖已安装的 PCL 库中的原始代码),添加了几个我的代码行到 cpp_file,问题是我的编译器无法正确链接某些东西。我得到的错误是 VoxelGridVoxelGrid2/usr/bin/ld: CMakeFiles/dense_map_builder.dir/src/synced_msgs_saver2bags.cpp.o:(.data.rel.ro._ZTVN3pcl10VoxelGrid2INS_9PointXYZIEEE[_ZTVN3pcl10VoxelGrid2INS_9PointXYZIEEE]+0x48): undefined reference to `pcl::VoxelGrid2<pcl::PointXYZI>::applyFilter(pcl::PointCloud<pcl::PointXYZI>&)' collect2: error: ld returned 1 exit status

我知道pcl::VoxelGrid2<pcl::PointXYZI>::applyFilter(pcl::PointCloud<pcl::PointXYZI>&)我的 .cpp 文件中有这个原型 ( ) 的这个功能,但编译器仍然在喊它无法链接它。任何想法我做错了什么?或者如何将几行代码添加到 PCL 库中的过滤器并在我的程序中使用它?

0 投票
0 回答
39 浏览

c++ - PCL PolygonMesh 连接“错误:'(' 标记之前的声明中的限定 ID”

我正在尝试将pcl::PolygonMesh三角测量变量(triang)连接到“缓冲区”pcl::PolygonMesh三角测量变量(triang_buffer)。我试图通过以下方式做到这一点:

并通过:

但是当我编译它时,分别出现这些错误:

但是,我一直在查看pcl::PolygonMeshat PCL 文档,它说两种方式都可以使用它们。

此外,我查看了 Github Github PolygonMesh.hPolygonMesh.h中的文件,它包含“连接”工具,但在我安装的 at 中,文件要短得多,并且不包含连接选项。PolygonMesh.h/usr/include/pcl-1.8/pcl/PolygonMesh.h

我在 Ubuntu 18.04 与 ROS Melodic Morenia 合作。我按照官方教程安装了 ROS,它自动包含“pcl-1.8”,我认为可能在这个版本中“PolygonMesh.h”没有更新所有这些工具。

我怎样才能实现应用串联操作?我可以将我的 PCL 版本更新到 1.12 吗?

如果有人可以帮助我,我将不胜感激。我是 C++ 和 PCL 的新手,我不知道如何解决这个问题,我需要对这个pcl::PolygonMesh变量进行连接操作。

先感谢您。

0 投票
1 回答
76 浏览

c++ - 当使用 pcl.1.8.0 显示一些示例时,但在运行“triangulationGreedyProjection”代码时出错并在“Memory.h”中崩溃

环境:</p>

  • ubuntu18
  • pcl 1.8.0

一些代码如下:

但是,在执行“gp3.reconstruct(mesh);”时,代码崩溃和断点显示“Memory.h”中的“std::free(ptr)”为流

在此处输入图像描述

结果如下:

0 投票
1 回答
1096 浏览

python - 从 .pcd 读取点云到 ROS PointCloud2

我想创建一个简单的 python 脚本来读取一些 .pcd 文件并为 rosbag 中的每个文件创建一个 sensor_msgs::PointCloud2 。

我尝试使用 python-pcl 库,但是在将点添加到数据字段时我可能做错了,因为在播放 rosbag 并检查 RViz 并回显主题时,我没有得到任何分数。

这是我设置 PointCloud2 msg 的部分。

我也尝试了 pypc,但没有任何运气。

你会怎么做?也许在 pcl 的 cpp 版本中有一个 ToROSMsg 方法?

cpp 中很容易获得的东西是否有 python 等价物: pcl::toROSMsg ?

谢谢

这是python脚本的完整代码:

base_link 和相机 tfs 来自一个 json 文件,该文件还存储一个字符串以关联 .pcd 文件。

0 投票
1 回答
550 浏览

c++ - 在 PointCloud2 结构 C++/ROS/PCL 库中写入/访问点

我目前正在构建感知管道,并且无法读取我的点云结构的点。我正在将点云读取到 PointCloud2 结构中,并希望能够写出点云的系列点,或者至少可以访问它们,因此我找到了一种稍后将它们写入文件的方法。我正在使用的基本代码在这里:

我希望能够访问云中每个点的 x、y、z 元素,理想情况下只需将它们全部写入文本文件。我尝试过使用pcl::io::savePCDFileASCII(),但我认为这在这里不太适用。另一个注意事项是基本程序一直在运行,并且在手动关闭之前永远不会退出我不知道这是否与写入文件有关。任何有关使用哪些确切功能/我需要采取的步骤的帮助将不胜感激。

0 投票
0 回答
42 浏览

c++ - 关于 vcpkg 和 pcl/visualization 的问题

首先,我用过:

安装 pcl。但是,我没有注意到这个命令无法安装 vtk 并使用 pcl/visualization。我成功安装和使用 pcl(可视化除外)。所以,我尝试关注:

其实我想用的时候还是不能#include<pcl/visualiztion/..>

0 投票
0 回答
52 浏览

c++ - Pcl Integral Image Estimation 为正常场抛出 NAN

当使用 pcl::IntegralImageEstimation 计算法线时,法线字段填充有 NAN,但是当我使用其他估计方法(如 NormalEstimationOMP)时,我可以生成法线。我没有收到任何错误,我想使用 Integral 方法,因为它比 OMP 版本快得多,并且可以为我的用例实时计算法线。我还尝试了 IntegralImageNormalEstimation 中的其他估计方法(COVARIANCE_MATRIX、AVERAGE_3D_GRADIENT、AVERAGE_DEPTH_CHANGE、SIMPLE_3D_GRADIENT)

这是我正在使用的代码;

0 投票
0 回答
66 浏览

c++ - PCL:为什么这么多动态分配和原始指针

我最近一直在与 PCL 一起工作,与 ROS 一起工作,并且一直在查看他们的一些示例。

我绝不是 c++ 方面的专家,但我的印象是好的风格尽可能避免原始指针/动态分配。此外,共享指针基于必要的协议,因为它们需要引用管理器。

我觉得 PCL 教程充满了这些东西,动态分配和共享指针,例如:link1 link2 link3

我只是好奇是否/为什么这是必要的,如果只是为了更好地理解 c++。

0 投票
0 回答
38 浏览

qt - 找不到编译或安装 QVTKWidget.h 的方法 [MacOs 11.6]

我正在尝试运行一个名为“rtabmap”的软件版本,它依赖于 opencv 和 pcl(后者依赖于 vtk)。

我安装了所有这些,但问题是我错过了一个名为“QVTKWidget.h”的文件(可能还有更多我还不知道的文件)。

我尝试了一次 brew 和一次从源代码构建两个库,我确保 cmake 找到了正确的 Qt5 安装,但我无法让它工作。

在 ubuntu 上,简单的 apt 安装 opencv 和 pcl 就足以使其正常工作。

那么,如何构建或获取那些丢失的文件呢?

我安装的VTK版本是9.0.3