
PCL
文章平均质量分 72
大田菜
早晚仗剑走天涯!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
详细图文讲解CMake3.28.2编译VTK9.3.0,包含详细的编译环境版本
【代码】详细图文讲解CMake3.28.2编译VTK9.3.0,包含详细的编译环境版本。原创 2024-10-09 17:11:58 · 264 阅读 · 0 评论 -
KDTree和Octree的区别
总的来说,KD 树适用于低维度空间和相对密集的点云数据,而 Octree 适用于处理 3D 点云数据,特别是在处理稀疏数据和空间分布不均匀的情况下效果更好。树的过程是递归的,在每一层选择一个维度进行划分,以便将点云空间划分为两个子空间,然后在子空间中继续划分。在搜索过程中,Octree 通过遍历树结构,根据点的位置在空间中确定搜索路径,以及检查每个节点和叶子节点来实现搜索。空间分割为八个立方体子区域,然后对每个子区域递归执行相同的操作,直到达到指定的深度或者每个子区域中的点数达到阈值。原创 2024-09-26 17:03:56 · 567 阅读 · 0 评论 -
经典欧拉角与泰特布莱恩角
机器人旋转方式原创 2024-09-26 16:45:11 · 939 阅读 · 0 评论 -
欧拉角(Euler angles)详解
欧拉角是由 Leonhard_Euler 引入的三个角度,用于描述刚体相对于固定坐标系的方向。它们也可以表示物理学中移动参考系的方向或三维线性代数中基的方向。欧拉角是一种基于三种较简单旋转运动(称为俯仰、滚动和偏航)创建一般旋转的机制。如下图,一架沿x轴方向飞行的飞机可以通过转向左或转向右(偏航),朝上飞或朝下飞(俯仰),或简单绕x轴旋转(滚动)来改变飞行方向。可以看出俯仰、偏航、滚动分别就是绕z轴、y轴、x轴旋转,上面已经给出了这三种特殊旋转的旋转矩阵。原创 2024-08-16 15:47:46 · 8753 阅读 · 0 评论 -
旋转矩阵详解
利群与李代数:so3是旋转的矩阵集合,SE3是刚体变换的矩阵集合。(旋转矩阵相乘后还会保持旋转矩阵的特性即他还是一个旋转矩阵)假设绕XYZ三个周旋转的角度分别为α ,β ,γ ,原创 2024-08-16 14:47:09 · 1074 阅读 · 0 评论 -
PCL函数库摘要——点云配准
/ 实现对应点的大小比较的仿函数:输人两个对应点对,比较它们的源点云索引后,输出真假值,若前者比较小输出true,否则输出false.// 实现对应点的大小比较的仿函数:输人两个对应点对,比较它们的目标点云索引后,后输出真假值,若前者比较小输出true,否则输出false。// 实现对应点的大小比较的仿函数:输入两个对应点对,比较它们的距离后输出真假值,若前者比较小输出true,否则输出false.-原创 2024-08-12 16:03:14 · 939 阅读 · 0 评论 -
PCL函数库摘要——点云滤波
类StatisticalOutlierRemoval,通过对查询点与邻域点集之间的距离统计判断来过滤离群点。类 BilateralFilter是对双边滤波算法在点云上的实现,该类的实现利用的并非XYZ字段的数据进行,而是利用强度数据字段进行双边滤波算法的实现,所以在使用该类时点云的类型中字段必须有强度字段,否则无法进行双边滤波处理,详细算法信息请参考C. Tomasi and R. Manduchi的文章Bilateral Filtering for Gray andColor Images。原创 2024-08-12 15:56:18 · 498 阅读 · 0 评论 -
PCL函数库摘要——3D点云特征描述与提取
类FPFHEstimation实现了FPFH(Fast Point Feature Histogram)描述子计算算法,该算子是局部点特征描述子之一,计算速度简单、并且不失描述性,主要针对点云配准中求对应点对而提出,后续实例中也讲到FPFH、SPFH概念,详细见Fast .Point Feature Histograms (FPFH) for 3D Registration。类SHOTEstimationOMP是SHOT算子基于OpenMP并行计算算法的实现,其接口详细参考类SHOTEstimation。原创 2024-08-12 16:41:39 · 951 阅读 · 0 评论 -
PCL函数库摘要——k-d tree与八叉树
类OctreePointCloudOccupancy实现了管理一八叉树,其叶子节点不存储任何数据,只是对输入点云所占据的空间通过叶子所处的体素来进行标志,这样就可以对点云所占据空间的情况进行评估和检测。类OctreePointCloudDensity实现了管理一八叉树,其叶子节点并非存储点云,只是对处于其叶子体素中的点云个数进行存储,即整个八叉树的叶子节点存储了输入点云的密度空间分布。类OctreePointCloudSinglePoint管理一八叉树,该八叉树叶子节点,存储在该节点体素中的单个点的索引。原创 2024-08-12 16:35:35 · 1024 阅读 · 0 评论 -
PCL函数库摘要——点云曲面重建
PCL库种surface模块是用来对三维扫描获取的原始点云进行曲面重建的,该模块包含实现点云重建的基础算法与数据结构。原创 2024-08-12 16:31:44 · 1193 阅读 · 0 评论 -
PCL函数库摘要——深度图像
RangeImagePlanar类来源于最原始的深度图像,但又区别于原始的深度图像,因为该类不使用球形投影方式,而是通过一个平面投影方式进行投影(照相机一般采用这种投影方式)。因此,对于已有的利用深度传感器获取深度图像来说较为实用,例如现有的立体照相机或者ToF照相机本身提供深度图像,这样就不需要将原始的深度图像转换为点云并再转换为球形投影的深度图像。RangeImage 类继承于PoinyCloud,主要功能是实现从一个特定视点得到的三维场景的深度图像。原创 2024-08-12 16:27:36 · 559 阅读 · 0 评论 -
PCL 采样一致性模型介绍
采样一致性可以简单高效的检测出一些具有数学表达式的目标模型。PCL中的sample consensus模块中不仅包含各种的采样一致性估计方法,也包含一些已经编写好的数学模型,下面主要介绍一下PCL中的采样一致性模型。原创 2024-08-12 16:25:59 · 1215 阅读 · 0 评论 -
PCL 采样一致性方法介绍
默认情况下,如果不熟悉上述大多数估计器及其操作方式,使用RANSAC进行测试是万无一失的方法。原创 2024-08-12 16:14:57 · 808 阅读 · 0 评论 -
PCL函数库摘要——可视化
p,P:切换到点渲染模式。类PointCloudGeometryHandlerCustom实现了从给定点云中提取用户自定义字段的值,并用于VTK中可视化。类PointCloudColorHandlerGenericField实现从点云的一个普通字段生成颜色,并用于VTK中可视化。类PointCloudGeometryHandler实现了从给定点云中提取XYZ三个字段的值,并用于VTK中可视化。类pcl::visualization::RangeImageVisualizer实现对深度图像的可视化。原创 2024-08-12 16:11:02 · 831 阅读 · 0 评论 -
PCL函数库摘要——点云分割
类SACSegmentation< PointT >是利用采样一致性算法实现分割类,定义了所有相关的函数接口,该类的输入为设定需要分割的模型类型与相关参数,输出为最终估计的模型参数,以及分割得到的内点集合,利用不同的模型可以实现对点云中包含的不同类型的物体的分割,例如直线、平面、圆柱、圆球等的分割提取,在机器人自动识别提取领域应用非常方便,稳健性也非常好。原创 2024-08-12 16:06:56 · 981 阅读 · 0 评论 -
PCL函数库摘要——关键点
类SIFTKeypoint是将二维图像中的SIFT算子调整后移植到3D空间的SIFT算子的实现。类HarrisKeypoint2D实现基于点云的强度字段的 harris关键点检测子,其中包含了多种不同的harris关键点检测算法的变种,例如由JA Noble,Lowe、Tomasi等提出的Harris关键点检测算法。类HarrisKeypoint3D和 HarrisKeypoint2D类似,但是它没有在点云的强度空间检测关键点,而是利用点云的3D空间的信息表面法线向量来进行关键点检测。原创 2024-08-12 15:49:29 · 387 阅读 · 0 评论 -
PCL函数库摘要——IO模块
以上3个类分别封装了Kinect,Primesense,XtionPro相关设备操作和数据获取操作实现,其详细接口参考其父类OpenNIDevice的关键函数说明。封装了利用ONI文件回放虚拟类kinect设备的操作和数据获取操作实现,其详细接口参考其父类OpenNIDevice的关键函数说明。以上两个类分别是PCD、PLY文件格式读入接口的实现,详细参考其父类pcl: :FileReader。以上两个类分别是PCD、PLY文件格式写出接口的实现,详细参考其父类pcl: :FileWriter。原创 2024-08-12 15:38:22 · 845 阅读 · 0 评论 -
PCL-数据类型
Point是一个简单的XYZ坐标加intensity的point类型,xyz未与intensity位于同一个结构体。PointXYZ是使用最常见的一个点数据类型,因为它只包含三维xyz坐标信息,这三个浮点数附加一个浮点数来满足存储对齐,用户可以利用points[i].data[0],或者points[i].x访问点的x坐标值。PointWithViewpoint除了vp_x,vp_y,vp_z以三维点表示所获得的视点之外之外,其余与PointXYZI结构类似。原创 2024-08-12 15:16:02 · 490 阅读 · 0 评论 -
pcl-滤波模块
此算法原理是在被滤波的点云中创建一个三维体素栅格(可以将体素栅格想象成微小的空间三维立方体的集合),然后在每个体素(即三维立方体内),用体素中所有点的重心来近似显示体素中的其他点,这样该体素内所有点就用一个重心点表示。对于输入的点云数据中对点与临近点的距离分布计算,对于每个点,我们计算他到他所有临近点的平均距离,假设得到的结果是一个高斯分布,其形状由均值与标准差决定,平均距离在标准范围(由全局距离平均值和方差定义)之外的点,可被定义为离群点并可从数据集中去除掉。不如体素中的重心代替体素准。原创 2024-08-12 09:29:33 · 385 阅读 · 0 评论