![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
PCL Documentation
文章平均质量分 76
了不起的菠萝君
我的简书主页
https://www.jianshu.com/u/e81ab5fab054
展开
-
PCL入门/基本结构(Getting Started / Basic Structures)
#入门/基本结构PCL 1.x中的基本数据类型是PointCloud。PointCloud是一个包含以下数据字段的C ++类:宽度width (int)在点数中指定点云数据集的宽度。宽度有两个含义:它可以指定点的云中的总数(equal with the number of elements in points - 见下文),用于无组织的数据集;它可以指定有组织的点云数据集的宽度(连续点...原创 2018-11-11 15:49:51 · 1419 阅读 · 0 评论 -
如何使用迭代最近点(How to use iterative closest point)
#如何使用迭代最近点本文档演示如何在代码中使用迭代最接近点算法,通过最小化两个点云之间的距离并严格转换它们,可以确定一个PointCloud是否只是另一个PointCloud的刚性转换。#代码#include <iostream>#include <pcl/io/pcd_io.h>#include <pcl/point_types.h>#includ...原创 2018-11-12 10:02:42 · 1123 阅读 · 0 评论 -
如何递增配准成对点云(How to incrementally register pairs of clouds)
#如何递增配准成对点云本文档演示了使用Iterative Closest Point算法为了递增地逐个配准一系列点云。这个想法是转换第一个云框架中的所有云。这是通过在每个连续云之间找到最佳转换来完成的,并在整个云集上累积这些转换。您的数据集应包含已经在公共框架(例如在机器人的测距或地图框架中)中大致预先对齐的云并且彼此重叠的云。我们在github.com/PointCloudLibra...原创 2018-11-12 10:02:20 · 610 阅读 · 0 评论 -
如何从点云创建距离图像(How to create a range image from a point cloud)
本教程演示如何从点云和给定传感器位置创建距离图像。该代码创建了漂浮在观察者前方的矩形示例点云。#代码首先,在你最喜欢的编辑器中创建一个叫做range_image_creation.cpp的文件,并在其中放置下面的代码:#include <pcl/range_image/range_image.h>int main (int argc, char** argv) { pcl...原创 2018-11-12 10:01:25 · 2911 阅读 · 2 评论 -
如何从范围图像中提取NARF关键点(How to extract NARF keypoint from a range image)
本教程演示了如何从范围图像中提取NARF关键点。可执行文件使我们能够从光盘中加载一个点云(如果没有给出,也可以创建它),提取兴趣点并在图像和3D查看器中显示结果。#代码首先,在你最喜欢的编辑器中创建一个名为narf_keypoint_extraction.cpp的文件,并在其中放置下面的代码:/* \author Bastian Steder */#include <iostrea...原创 2018-11-12 10:00:59 · 797 阅读 · 0 评论 -
如何使用KdTree进行搜索(How to use a KdTree to search)
在本教程中,我们将详细介绍如何使用KdTree来查找特定点或位置的K个最近邻居,然后我们将继续介绍如何在用户指定的半径范围内找到所有邻居(在本例中为随机) 。#理论引入kd树或k维树是计算机科学中用于在具有k维的空间中组织若干点的数据结构。这是一个二叉搜索树,其他约束条件是强加给它的。Kd树对于范围和最近的邻居搜索非常有用。就我们的目的而言,我们通常只会在三维空间中处理点云,所以我们所有的kd...原创 2018-11-12 10:00:30 · 2425 阅读 · 0 评论 -
3D功能如何在PCL中工作(How 3D Features work in PCL)
本文档介绍了PCL中的三维特征估计方法,并作为对pcl::Feature类内部感兴趣的用户或开发人员的指南。#理论入门在它们的原始表示中,3D映射系统的概念中所定义的点仅使用其笛卡尔坐标x,y,z相对于给定原点来表示。假设坐标系的原点不随时间变化,则在t1和t2获得的两个点p1和p2具有相同的坐标。然而,比较这些点是一个不适当的问题,因为即使它们相对于一些距离度量(例如欧几里德度量)是相等的,...原创 2018-11-12 09:59:48 · 635 阅读 · 0 评论 -
估计PointCloud中的曲面法线(Estimating Surface Normals in a PointCloud)
表面法线是几何表面的重要属性,并在许多领域(如计算机图形应用)中大量使用,以应用生成阴影和其他视觉效果的正确光源。给定一个几何曲面,通常很简单的方法是将曲面上某一点的法线方向作为垂直于该曲面的矢量。但是,由于我们获取的点云数据集代表了一组实际表面上的点样本,因此有两种可能性:1、从获取的点云数据集中获取底层曲面,使用曲面网格划分技术,然后从网格中计算曲面法线;2、使用近似值直接从点云数据集中...原创 2018-11-12 09:59:38 · 1304 阅读 · 0 评论 -
使用积分图像的法向量估计(Normal Estimation Using Integral Images)
在本教程中,我们将学习如何使用积分图像计算组织点云的法线。#代码首先,用你最喜欢的编辑器创建一个文件,名为normal_estimation_using_integral_images.cpp,并在其中放置以下内容: #include &lt;pcl/io/io.h&gt; #include &lt;pcl/io/pcd_io.h&gt; #include &lt;pc...原创 2018-11-12 09:59:28 · 1988 阅读 · 0 评论 -
点特征直方图(PFH)描述(Point Feature Histograms (PFH) descriptors)
#点特征直方图(PFH)描述符随着点特征表示的进行,曲面法线和曲率估计在它们围绕特定点的几何图形的表示中是相当基本的。虽然计算起来非常快速和容易,但它们不能捕获太多的细节,因为它们只能用几个值来逼近点的k邻域的几何。直接的结果是,大多数场景将包含许多具有相同或非常相似的特征值的点,从而降低了它们的信息特征。为了简单起见,本教程介绍了一系列创建PFH(点特征直方图)的3D特征描述符,展示了它们的...原创 2018-11-11 15:55:16 · 7221 阅读 · 2 评论 -
快速点特征直方图(FPFH)描述符(Fast Point Feature Histograms (FPFH) descriptors)
点要素直方图的理论计算复杂性(见 点要素直方图(PFH)描述)为给定的ñ点组成的点云P是O(NK ^ 2),这里ķ是对在 P中的每个p点邻居的数量。对于实时或接近实时的应用,密集点邻域中的点特征直方图的计算可能代表主要的瓶颈之一。本教程描述了PFH公式的简化,称为快速点特征直方图(FPFH)(参见Rusu论文以获取更多信息),这样可以降低算法的计算复杂度O(NK),同时仍保留大部分PFH的判别能...原创 2018-11-11 15:54:52 · 5965 阅读 · 0 评论 -
基于惯性和偏心的描述符矩(Moment of inertia and eccentricity based descriptors)
在本教程中,我们将学习如何使用pcl::MomentOfInertiaEstimation类来获取基于偏心率和惯性矩的描述符。这个类还允许提取云的轴对齐和定向的边界框。但请记住,提取的OBB不是最小可能的边界框。#理论引入特征提取方法的思想如下。首先计算点云的协方差矩阵,并提取其特征值和向量。你可以认为合成的特征向量是归一化的,总是形成右手坐标系(主特征向量代表X轴,次向量代表Z轴)。在下一步...原创 2018-11-11 15:53:53 · 1773 阅读 · 0 评论 -
如何使用随机样本一致性模型(How to use Random Sample Consensus model)
在本教程中,我们将学习如何在平面模型中使用RandomSampleConsensus来获得适合该模型的云。#理论入门RANdom SAmple Consensus的缩写是RANSAC,它是一种迭代方法,用于从包含异常值的一组数据中估计数学模型的参数。该算法由Fischler和Bolles于1981年发表.RANSAC算法假设我们所看到的所有数据都是由内点(inliers)和外点(outlier...原创 2018-11-11 15:53:27 · 1208 阅读 · 0 评论 -
PCLVisualizer
PCLVisualizer是PCL的全功能可视化类。虽然使用比CloudViewer更复杂,但功能也更强大,提供了显示法线,绘图形状和多个视口等功能。本教程将使用代码示例来说明PCLVisualizer的一些功能,从显示单个点云开始。大部分代码示例都是样板文件,用于设置将被可视化的点云。每个样本的相关代码都包含在特定于该样本的函数中。代码如下所示。将其复制保存到文件名为pcl_visualize...原创 2018-11-11 15:53:00 · 4952 阅读 · 4 评论 -
PCL中的OpenNI采集卡框架(The OpenNI Grabber Framework in PCL)
从PCL 1.0开始,我们提供了一个新的通用采集卡接口,以提供对不同设备及其驱动程序,文件格式和其他数据源的顺利和方便的访问。我们加入的第一个驱动程序是new OpenNI Grabber,它可以轻松地从OpenNI兼容的相机请求数据流。本教程介绍如何设置和使用抓取器,因为它非常简单,所以我们可以保持简短:)。目前我们测试的相机是Primesense Reference Design,Micr...原创 2018-11-11 15:52:10 · 1529 阅读 · 0 评论 -
PCD文件格式(The PCD (Point Cloud Data) file format)
本文档描述PCD(点云数据)文件格式,以及它在点云库(PCL)中的使用方式。PCD文件格式图标PCD文件格式图标#为什么新的文件格式?PCD文件格式并不意味着重新发明轮子,而是补充现有文件格式,由于某种原因,这些格式不支持/不支持PCL为nD点云处理带来的一些扩展。PCD不是支持3D点云数据的第一种文件类型。特别是计算机图形和计算几何社区已经创建了多种格式来描述使用激光扫描仪获取的任意多...原创 2018-11-11 15:51:43 · 7784 阅读 · 3 评论 -
从PCD文件中读取点云数据(Reading Point Cloud data from PCD files)
在本教程中,我们将学习如何从PCD文件中读取点云数据。#代码首先,在你最喜欢的编辑器中创建一个名为pcd_read.cpp的文件,并在其中放置下面的代码:#include <iostream>#include <pcl/io/pcd_io.h>#include <pcl/point_types.h>intmain (int argc, char*...原创 2018-11-11 15:50:57 · 1755 阅读 · 0 评论 -
PCL演练(PCL Walkthrough)
本教程将引导您完成PCL安装的组件,提供模块的简短说明,指明它们的位置,并列出不同组件之间的交互。概观PCL分成许多模块化库,最重要的一组发布的PCL模块如下所示:过滤器背景下图显示了一个噪音消除的例子。由于测量误差,某些数据集呈现大量阴影点。这使局部点云3D特征的估计变得复杂。这些异常值中的一部分可以通过对每个点的邻域进行统计分析,并对不符合特定标准的那些进行修剪。PCL中的稀疏异常...原创 2018-11-11 15:50:21 · 1065 阅读 · 0 评论 -
PCL配准接口(The PCL Registration API)
始终将各种3D点云数据视图对齐到一个完整模型的问题称为配准。其目标是在全球坐标框架中找到单独获取的视图的相对位置和方向,使它们之间的交叉区域完美重叠。对于从不同视图中获取的每一组点云数据集,我们都需要一个能够将它们组合到单个点云模型中的系统,以便可以应用后续处理步骤,例如分割和对象重建。_images/scans.jpg在上图中给出了这种意义上的激励示例,其中使用倾斜2D激光单元采集了一组六个...原创 2018-11-12 10:03:05 · 2406 阅读 · 0 评论