问题标签 [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 回答
26 浏览

c++ - 生成多个 vtkPolyLine 实例

我有一个软件,我从点云地图中选择 5 个点,如下所示:

这样做之后,我通过按下按钮使用 vtkPolyLine 和 3DGlyph 在点之间绘制一条线:

创建线后,我显然无法创建另一条线,因为pointslist 仍然具有先前点的值。

我试图清空“drawline”函数末尾的点列表:

但我仍然无法创建另一条线

0 投票
2 回答
31 浏览

c++ - 如何清除VTK点

我是 vtk 的新手,我正在编写一个应用程序来绘制多个形状。使用点拾取事件绘制形状,如下所示:

这里的点是一个vtk点列表:

我正在尝试清除points,以便调整它的大小并为每个形状获取新点,但我还没有找到清除列表的方法。

0 投票
1 回答
35 浏览

gpu - PCL-1.12 中的 pcl::gpu::EuclideanClusterExtraction 缺少模板参数

我正在尝试此示例以将 PCL 与 GPU 一起使用并得到错误

~/gpu-pcl/main.cpp:85: 错误: 'gec' pcl::gpu::EuclideanClusterExtraction gec 之前缺少模板参数;

我已经用 pcl-1.11.1 尝试过这个例子,它运行良好。但是当更新到 pcl-1.12.1 时,我得到了那个错误。我的工作环境:Ubuntu 18.04,Cmake 版本 3.20,有什么我错过了吗?

0 投票
0 回答
7 浏览

pcl - pcl::IteraticeClosestPointsWithNormals, pcl::GeneralizedIteraticeClosestPoints 取决于云的单位是毫米还是米

我正在为相同的场景运行 ICP,一次以毫米为单位使用云,其他以米为单位。

当前正在尝试运行 pcl::IteraticeClosestPointsWithNormals:

对于限制器:

有人遇到过类似的问题吗?还是我应该更改其他一些参数?对我来说,这看起来像是一个参数问题,但我无法确定是哪一个。表示一些距离/平移。至于轮换,无所谓。

  1. 第二个问题是 pcl::GeneralizedIteraticeClosestPoints 文档说

那么当云以毫米为单位时它是如何工作的呢?

对于GeneralizedIteraticeClosestPoints,我也会得到不同的结果,具体取决于云是毫米还是米

0 投票
0 回答
6 浏览

textures - PCL 在添加到查看器之前转换 TextureMesh

使用 PCL,我将带纹理的 OBJ 文件加载到pcl::TextureMesh,并在 pcl 查看器中使用该viewer->addTextureMesh()功能将其可视化。在可视化网格之前,我需要对其进行转换。对于像转换这样的实际点云格式,该功能pcl::PointCloud<pcl::PointXYZ>非常简单。pcl::transformPointCloud()我怎么能改变一个pcl::TextureMesh

到目前为止,我试图把它变成一个pcl::PointCloud<pcl::TextureMesh>(所以我可以使用这个pcl::transformPointCloud()函数),但是我的 PCL 程序员技能非常有限,所以我不知道该怎么做。要在转换后通过viewer->addTextureMesh()函数将其添加到查看器中,我需要从pcl::PointCloud<pcl::textureMesh>中再次提取它,而这里又不知道如何。

任何人都可以帮助我如何转换 apcl::TextureMesh吗?

先感谢您!!

0 投票
0 回答
20 浏览

c++ - pcl::SACsegmentation 的意外结果

Win 11 Pro PCL 1.12.1 Visual Studio

我想使用 SACsegmentation 模块在点云中分割一个平面并得到一些意想不到的结果。虽然我当时解决了这个问题,但我想知道导致问题的原因。我想分割地面(如蓝线集所示),但代码返回总的地面,如红线所示。 在此处输入图像描述这里 是代码和 pcd 文件。 https://github.com/PointCloudLibrary/pcl/files/8101342/compress.zip 在使用 UniformSample 模块对点云进行采样后,它会生成正确的结果。点云的大小会不会有一些影响

0 投票
1 回答
42 浏览

opencv - 如何使用激光雷达和相机找到“边界盒装”对象的位置?

这个问题与我的最终项目有关。在凉亭模拟环境中,我试图检测障碍物的颜色并计算机器人与障碍物之间的距离。我目前正在借助 OpenCV 方法(带边界框的对象)识别它们的颜色,但我不知道如何计算它们之间的距离。我有我的机器人的位置。我不会使用立体声。我知道障碍物的大小。等待您的建议和想法。谢谢!

我的机器人的主题:

  • 相机/相机/相机信息(类型:sensor_msgs/CameraInfo)
  • 相机/相机/image_raw (类型:sensor_msgs/Image)
  • 传感器/激光雷达/点(类型:sensor_msgs/PointCloud2)
0 投票
1 回答
5 浏览

pcl - 读取 pcd 文件时出现未处理的异常

我正在使用 pcl 库,在 Windows 上使用 Visual Studio 2019。不幸的是,即使使用文件的完整路径,我也无法加载我下载的演示文件。

异常发生在 reader.read("table_scene_lms400.pcd", *cloud); // 记得先下载文件!

这是我的代码:

例外是: PCL_Down_Sample_Point_Clouds.exe 中 0x00007FFB65A94F69 处的未处理异常:Microsoft C++ 异常:内存位置 0x000000377BBFE9A0 处的 std::bad_alloc。

0 投票
1 回答
13 浏览

qt-creator - 带有 VTK 和 QVTKOpenGLStereoWidget 的 QtCreator 小部件内的 PCL 查看器

我需要制作一个带有 Qt 小部件的图形窗口,该窗口允许在其中表示我之前使用 PLC 库加载的点云。

这是我到目前为止不起作用的东西(我基于教程和这个答案)。

我正在使用:

  • Ubuntu 20.04
  • Qt 创建者 5.15
  • VTK 9.1
  • PCL 1.12

我使用 QVTKOpenGLStereoWidget 的原因是,据我所知,QVTKOpenGLWidget 和 QVTKWidget 不再可用或将在未来的版本中停止使用。

测试.pro

主窗口.ui

它只有一个小部件具有提升QVTKOpenGLSTereoWidget

在此处输入图像描述

主窗口.h

我做了VTK库的初始化,包含不同的库头文件,并创建了PCL查看器和基于OpenGL的VTK渲染器。

主窗口.cpp

最后在 MainWindow 类的构造函数中,我只是加载了文件(在本例中它是一个 PLY),然后我尝试在小部件中制作图形表示

主文件

我没有改变任何东西,它是默认的

错误。

我遇到的主要错误是:/usr/local/include/vtk-9.1/vtkSmartPointer.h:225:错误:嵌套名称说明符中使用的类型“vtkGenericOpenGLRenderWindow”不完整 在 /usr/local/include/pcl-1.12/pcl/visualization/point_cloud_geometry_handlers.h:49 包含的文件中,来自 /usr/local/include/pcl-1.12/pcl/visualization/common/actor_map.h:40,来自/usr/local/include/pcl-1.12/pcl/visualization/pcl_visualizer.h:48,来自 /usr/local/include/pcl-1.12/pcl/visualization/cloud_viewer.h:39,来自 ../04_pcl_viewer_V3/MainWindow .h:6,来自 ../04_pcl_viewer_V3/MainWindow.cpp:1: /usr/local/include/vtk-9.1/vtkSmartPointer.h: 在 'static vtkSmartPointer vtkSmartPointer::New() [with T = vtkGenericOpenGLRenderWindow] 的实例化中':../04_pcl_viewer_V3/MainWindow.cpp:16:67:从这里需要/usr/local/include/vtk-9.1/vtkSmartPointer.h:225:69:错误:嵌套名称说明符225中使用的不完整类型'vtkGenericOpenGLRenderWindow' | 静态 vtkSmartPointer New() { return vtkSmartPointer(T::New(), NoReference()); } | ~~~~~~^~