我是 ROS 新手,我很难适应正常情况。这是我的情况。 我订阅了我的相机(实感相机),我得到了点云,我将点云从 ROS_to_pcl 转换为
将索引插入到 PCL 库中的 pcl::octree::OctreePointCloudSearch<pcl::PointXYZ>
我正在尝试使用 pcl::octree::OctreePointCloudSearch 八叉树对点云进行分区和执行一些操作。 在该方法中,它提供了一个公共函数,名为
我正在尝试转换点云以进行注册。 我有四元数,但是当我使用点云库进行转换时。它似乎在局部坐标中变换点云而不是
给定 y = mx + c 形式的两条线方程,所有不在两条线之间的点都必须被过滤掉。 目前我正在使用直通过滤器,它大约过滤...
我有一个在所有 3 个维度上都有广泛范围的点云数据。我已经使用 pcl::ConditionalRemoval::filter() 在范围 -20 >= x >= 20、-20 >= y >= 20 和 -2 >= z >= 2....
使用 PCL OctreePointCloudVoxelCentroid 光栅化点云
我尝试通过 PCL::OctreePointCloudVoxelCentroid 光栅化 X-0-Z 点云,以便随后在点云上使用一些图像处理算法。但输出并不是我所期望的。我是...
在一个带有圆孔的平面上有一个点云,我想知道如何提取孔的点以使我适合3D圆?
我已经使用 PCL 几天了,但无法解决一个问题: 我有一个密集的、有组织的 PointCloud cloud_1,并且想要填充第二个新的 PointCoud PointCloud 我已经使用 PCL 几天了,但无法解决一个问题: 我得到了一个密集的、有组织的 PointCloud<PointT> cloud_1,并且想要用处理过的点填充第二个新的 PointCoud PointCloud<PointT> cloud_2。 所以我的想法是(用伪代码,但如果有帮助的话我当然可以提供 MWE): //cloud_1 is also a Ptr that gets a Cloud loaded from PCD File PointCloud<PointT>::Ptr cloud_2(new PointCloud<PointT>) void populateSecondCoud(PointCloud<PointT>& cloud_1, PointCloud<PointT>& cloud_2){ cloud_2.width = cloud_1.width; cloud_2.height = cloud_1.height; for (i in cloud_1.height){ for(j in cloud_1.width){ PointT p = cloud_1.at(i,j); // do processing with the point... cloud_2.at(i,j) = p } } } populateSecondCloud(*cloud_1, *cloud_2) 以 : 结束 terminate called after throwing an instance of 'std::out_of_range' what(): vector::_M_range_check: __n (which is 0) >= this->size() (which is 0) 我猜,因为 cloud_2 的点向量仍然完全是空的。 有什么方法可以迭代地填充有组织的PointCloud? 所有这些都会发生在很多 PointCloud 上,这就是为什么我在处理点之前尝试阻止从 cloud_2 复制 cloud_1。 任何想法都将不胜感激。当然我可以提供一个编译代码片段,但我认为从上面的伪代码可以清楚地看出问题。 编辑:澄清了cloud_2如何初始化。 您的代码中有 2 个问题: 1。内存分配: 您需要分配适当大小的cloud_2。 有一个 pcl::PointCloud 构造函数,它接受宽度和高度并相应地分配数据,例如: PointCloud<PointT>::Ptr cloud_2 = PointCloud<PointT>::Ptr cloud( new PointCloud<PointT>(cloud_1.width, cloud_1.height)); 您还可以使用 pcl::PointCloud::resize 方法调整 cloud_2 的大小,并在 populateSecondCoud 中添加新的宽度和高度: cloud_2.resize(cloud_1.width, cloud_1.height); 2。正确的索引: 正如您在 pcl::PointCloud::at 文档、 中看到的 at 的参数是 column, row(按此顺序)。 实际上,您以相反的顺序传递它们,因为行索引中的 i 和列索引中的 j。 因此更改包含以下内容的行: at(i, j) 致: at(j, i)
为什么pcl::PointNormal RANSAC圆柱模型在估计模型系数时声明不包含法线?
我一直在尝试使用 pcl 工具将圆柱体模型拟合到生成的点云。我一直在调整此处文档中提供的示例代码。 据我了解,t...
pcl_sample_consensus 库包含 SAmple Consensus (SAC) 方法(如 RANSAC)以及模型(如平面和圆柱体)。我想建立 3D 椭圆模型。我想要 3D 椭圆的模型系数。 ...
我可以使用C++中的PCL将无组织的点云数据转换为有组织的点云数据吗?
我想使用C++中的PCL将无组织的点云数据转换为有组织的点云数据。我想要对点云进行正常估计。但该代码接受有组织的点云数据。做...
pcl::VoxelGrid 如何获取每个体素网格中的点数?
我知道 pcl::VoxelGrid 可用于对点云进行下采样。在我的用例中,我想获取每个体素网格内的点数。从 PCL 文档中我找到了叶子结构
使用点云库(PCL),我从点云创建了一个 K-d 树。我想找到从 K-d 树到一条线的 k 个最近点。有没有一种方法可以有效地使用...
我想了解setDistanceThreshold()函数取多少距离。点云库上的 DistanceThreshold 的度量是什么?
我正在尝试从点云拟合圆,我在 pcl 上使用了 RandomSampleConsensus 对象。 我想了解 setDistanceThreshold(double thr...
我有一个点云,我从中提取了一个地平面。现在我想应用一个在除地平面之外的所有点上生长的区域。我怎样才能有效地做到这一点? pcl::
我正在研究过滤点云数据,我在多种科学出版物中读到,最好在有组织的点云上工作,因为过滤/分割/等等可以更多
在 PCL 中,我使用 SACSegmentation 函数来从点云中查找特定形状。我希望使用的选项之一称为 setSamplesMaxDist(A,B)。 A 是半径(双变量)
我试图在投影到屏幕空间后找到球体的可见大小(以像素为单位)。球体以原点为中心,相机正对着它。因此投影球体应该...
我想生成一个包含n个相同部分的球体。例如,我想将球面分成 36 X 36 部分。因此,它总共应包含 1296 个等份。我不...