本文主要是介绍PCL common中常见的基础功能函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 一、common模块中的头文件
- 二、common模块中的基本函数
- 1、angles.h
- 2、centroid.h
- 1)计算给定一群点的3D中心点,并且返回一个三维向量
- 2)计算给定的三维点云的协方差矩阵。
- 3)计算正则化的3*3的协方差矩阵以及给定点云数据的中心点
- 4)利用一组点的指数对其进行一般的、通用的nD中心估计。
- 3、common.h
- 1)计算两个向量之间的角度
- 2)同时计算给定点云数据的均值和标准方差
- 3)在给定边界的情况下,获取一组位于框中的点
- 4)给定点云数据中点与点之间的最大距离的值
- 5)获取给定点云中的在XYZ轴上的最大和最小值
- 6)计算由三个点pa、pb和pc构成的三角形的外接圆半径。
- 7)获取点直方图上的最小值和最大值。
- 8)根据给定的多边形的点云计算多边形的面积
- 4、copy_point.h
- 1)从Point_in把字段数据赋值到Point_out
- 5、distance.h
- 1)获取两条三维直线之间的最短三维线段
- 2)获取点到线的平方距离(由点和方向表示)
- 3)在给定的一组点中获得最大分段,并返回最小和最大点。
- 6、eigen.h
- 1)确定最小特征值及其对应的特征向量
- 2)确定对称半正定输入矩阵给定特征值对应的特征向量
- 3)确定对称半正定输入矩阵最小特征值的特征向量和特征值
- 4)计算2x2矩阵的逆。
- 5)计算3x3对称矩阵的逆。
- 6)计算3x3矩阵的行列式
- 7)获得唯一 的3D旋转,将Z轴旋转成(0,0,1)Y轴旋转成(0,1,0)并且两个轴是正交的。
- 11)得到将origin转化为(0,0,0)的变换,并将Z轴旋转成(0,0,1)和Y方向(0,1,0)
- 12)从给定的变换矩阵中提取欧拉角
- 13)给定的转换中,提取XYZ以及欧拉角
- 14)从给定的平移和欧拉角创建转换矩阵
- 15)保存或者写矩阵到一个输出流中
- 16)从输入流中读取矩阵
- 7、intersection.h
- 1)获取空间中两条三维直线作为三维点的交点。
- 8、io.h
- 1)获取指定字段的索引(即维度/通道)
- 2)获取给定点云中所有可用字段的列表
- 3)获取特定字段数据类型的大小(字节)。
- 4)连接 pcl::PCLPointCloud2类型的点云字段
pcl_common
中主要是包含了
PCL
库常用的公共数据结构和方法,比如
PointCloud
的类和许多用于表示
点,曲面,法向量,特征描述等点的类型,用于计算距离,均值以及协方差,角度转换以及几何变化的函数。
对于各种点,特征的类型的数据结构在这里就不再一一举例说明,这需要根据实际情况而定。
这里主要介绍一下基本的常见的功能函数,这些函数其实用C++也可以自行实现,在PCL中提供了更多的重载接口,方便使用。
一、common模块中的头文件
angles.h
定义了标准的C接口的角度计算函数
centriod.h
定义了中心点的估算以及协方差矩阵的计算
commo.h
标准的C以及C++类,是其他common 函数的父类
copy_point.h
有一个简单的copy函数
distance.h
定义标准的C接口用于计算距离
eigen.h
一些线性代数函数
file_io.h
定义了一些文件帮助写或者读方面的功能。
random.h
定义一些随机点云生成的函数
geometry.h
定义一些基本的几何功能的函数
intersection.h
定义线与线相交的函数
norm.h
定义了标准的C方法计算矩阵的正则化
tim
这篇关于PCL common中常见的基础功能函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!