geometry 相关问题

在 ROS 中发布法线

我是 ROS 新手,我很难适应正常情况。这是我的情况。 我订阅了我的相机(实感相机),我得到了点云,我将点云从 ROS_to_pcl 转换为

回答 1 投票 0

将索引插入到 PCL 库中的 pcl::octree::OctreePointCloudSearch<pcl::PointXYZ>

我正在尝试使用 pcl::octree::OctreePointCloudSearch 八叉树对点云进行分区和执行一些操作。 在该方法中,它提供了一个公共函数,名为

回答 1 投票 0

如何将四元数改为世界坐标中的旋转矩阵

我正在尝试转换点云以进行注册。 我有四元数,但是当我使用点云库进行转换时。它似乎在局部坐标中变换点云而不是

回答 1 投票 0

PCL:根据 2 个线方程过滤点云

给定 y = mx + c 形式的两条线方程,所有不在两条线之间的点都必须被过滤掉。 目前我正在使用直通过滤器,它大约过滤...

回答 1 投票 0

理解 pcl::getMinMax3D()

我有一个在所有 3 个维度上都有广泛范围的点云数据。我已经使用 pcl::ConditionalRemoval::filter() 在范围 -20 >= x >= 20、-20 >= y >= 20 和 -2 >= z >= 2....

回答 1 投票 0

使用 PCL OctreePointCloudVoxelCentroid 光栅化点云

我尝试通过 PCL::OctreePointCloudVoxelCentroid 光栅化 X-0-Z 点云,以便随后在点云上使用一些图像处理算法。但输出并不是我所期望的。我是...

回答 1 投票 0

如何提取pcl中孔的边界?

在一个带有圆孔的平面上有一个点云,我想知道如何提取孔的点以使我适合3D圆?

回答 1 投票 0


PCL:按索引填充组织点云

我已经使用 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)

回答 1 投票 0

为什么pcl::PointNormal RANSAC圆柱模型在估计模型系数时声明不包含法线?

我一直在尝试使用 pcl 工具将圆柱体模型拟合到生成的点云。我一直在调整此处文档中提供的示例代码。 据我了解,t...

回答 1 投票 0

PCL RANSAC 3D椭圆模型拟合

pcl_sample_consensus 库包含 SAmple Consensus (SAC) 方法(如 RANSAC)以及模型(如平面和圆柱体)。我想建立 3D 椭圆模型。我想要 3D 椭圆的模型系数。 ...

回答 1 投票 0

我可以使用C++中的PCL将无组织的点云数据转换为有组织的点云数据吗?

我想使用C++中的PCL将无组织的点云数据转换为有组织的点云数据。我想要对点云进行正常估计。但该代码接受有组织的点云数据。做...

回答 1 投票 0

pcl::VoxelGrid 如何获取每个体素网格中的点数?

我知道 pcl::VoxelGrid 可用于对点云进行下采样。在我的用例中,我想获取每个体素网格内的点数。从 PCL 文档中我找到了叶子结构

回答 1 投票 0

使用点云库高效查找从 K-d 树到直线的 k 个最近点

使用点云库(PCL),我从点云创建了一个 K-d 树。我想找到从 K-d 树到一条线的 k 个最近点。有没有一种方法可以有效地使用...

回答 1 投票 0

我想了解setDistanceThreshold()函数取多少距离。点云库上的 DistanceThreshold 的度量是什么?

我正在尝试从点云拟合圆,我在 pcl 上使用了 RandomSampleConsensus 对象。 我想了解 setDistanceThreshold(double thr...

回答 1 投票 0

PCL::Region在负指数上增长

我有一个点云,我从中提取了一个地平面。现在我想应用一个在除地平面之外的所有点上生长的区域。我怎样才能有效地做到这一点? pcl::

回答 1 投票 0

如何过滤有组织的点云而不使其变得无组织?

我正在研究过滤点云数据,我在多种科学出版物中读到,最好在有组织的点云上工作,因为过滤/分割/等等可以更多

回答 1 投票 0

如何初始化 SACSegmentation 的搜索树指针?

在 PCL 中,我使用 SACSegmentation 函数来从点云中查找特定形状。我希望使用的选项之一称为 setSamplesMaxDist(A,B)。 A 是半径(双变量)

回答 1 投票 0

屏幕空间中投影球体的半径

我试图在投影到屏幕空间后找到球体的可见大小(以像素为单位)。球体以原点为中心,相机正对着它。因此投影球体应该...

回答 3 投票 0

如何在球面上生成等分的点?

我想生成一个包含n个相同部分的球体。例如,我想将球面分成 36 X 36 部分。因此,它总共应包含 1296 个等份。我不...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.