PCL_common模块api代码解析

pcl_common库包含大多数PCL库使用的公共数据结构和方法。核心数据结构包括PointCloud类和许多用于表示点、表面法线、RGB颜色值、特征描述符等的点类型。它还包含许多用于计算距离/范数、均值和协方差、角度转换、几何变换,等等。这个模块是不依赖其他模块的,所以是可以单独编译成功,单独编译出来可利用其中的数据结构自行开发,当然想单独提取出来编译时需要自行修改cmakeLists的,这里就不再赘述。
那么我们就按顺序来解释其中每个函数的作用,有必要的话,我会解释其理论并结合代码实践。

PCL_common的类:

(1) class pcl::BivariatePolynomialT< real >
这表示一个二元多项式,并为它提供了一些功能接口。

(2)class pcl::CentroidPoint< PointT >
一个泛型类,它计算给输入点云的质心。
这里我们用“重心”不仅表示3D点坐标的平均值,而且表示其他数据字段中的值的平均值。通用的computeNDCentroid()函数也实现了这种功能,但它是以“不智能”的方式实现的,也就是说,不管字段内数据的语义如何,它都只是对值进行平均。在某些情况下(例如,对于x,y,z,强度场),这种行为是合理的,但是在其他情况下(例如,rgb,rgba,rgbl(label带标签的)),这并不会导致有意义的结果。

这个类能够以一种“智能”的方式计算质心,即考虑字段内数据的含义。目前支持以下字段:

你可能感兴趣的:(点云PCL与SLAM)