利用PCL点云下采样实现数据体素化
PCL
PCL(Point Cloud Library) 库集成了针对大体量级别的空间点数据处理所需要的算法和操作,降低了处理相关需求的复杂度,对快速建立点云数据文档和渲染有着很好的作用。
体素化Voxelization
体素化是通过用空间均匀大小的体素网格(voxel grid)来模拟模型或者点云的几何形态的过程,实现模型体素化的方式有很多,比如基于八叉树的三模网格模型体素化,基于GPU并利用渲染管线中fragment shader部分实现的栅格化插值。本章主要讨论用PCL的下采样方式来实现模型点云的体素化,并且实现可视化。
算法
- 读入点云数据。
- 获取AABB盒子。
- 对点云数据进行下采样过滤。(实现体素化)
- 渲染可视化。
【建立结构体】
typedef struct point_XYZ{
double point_X;
double point_Y;
double point_Z;
double point_R;
};
【读入点云数据】
//point clouds
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>());
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_txt(new pcl::PointCloud<pcl::PointXYZ>