1、点云类型
pcl::PointCloud包含一个域,作为储存点集的容器,这个域是PointT类型的,PointT是基本的点的表现形式,包括PointXYZ、PointXYZRGB、Normal等。PointCloud被定义在point_cloud文件中。
1.1成员变量
points:保存点云的容器,类型为std::vector<PointT>
is_dense:bool类型(true/false),若点云中的数据都是有限的,则为true,否则为false。
1.2成员函数
points是PointCloud内部存放点集的vector容器,对点的操作都是基于对vector的操作,而PointCloud封装了vector的函数,可以直接对PointCloud调用操作vector的函数,与操作points一样。
2、路面点云的提取方法(一些论文用到的方法)
- 将车载点云数据利用统计学方法生成高度直方图,通过设置高度阈值提取路面点云。
- 根据路面法向量的分布特征,利用迭代模糊聚类算法对路面点云进行提取。
- 利用高度差异对点云数据进行 KNN 聚类,并根据路坎参数对提取结果进行优化.此类算法运行效率较低且容易出现分割问题。
- 用深度学习方法对图像进行语义分割,并将语义化的图像与点云数据融合进行粗分类,之后通过霍夫变换和区域生长方法对 点云数据进行细分类,最终精确提取道路点云,但该类方法的语义分割结果受二三维数据融合质量影响较大;
- 构造一种端到端深度学习网络,能够对城市大场景点云数据进行高效准确的语义标 识,但道路等实体目标的提取效果还需要进一步验证;
- 以扫描线为单位对点云数据进行处理,首先利用移动窗口高差对扫描线进行滤波,得到道路区域点云,然后根据高差、点密度和累计坡度三 个特征指标进行路坎点的提取,最后通过优化和跟踪手段提取道路边界。
- 在方法6的基础上建立双向扫描线索引,根据扫描线上不同地物目标的空间分布特征,采用移动动态窗口分类法提取 路面和路边点云。此类方法往往需要顾及多个特征因子,且要求道路具有较为规则的路坎,而在现实情况中,有些道路两侧是草地不存在路坎,以往利用路坎特征的道路提取方法不再适用 。