PCL 点云处理核心模块概览
Point Cloud Library (PCL) 是处理三维点云数据的开源框架。以下整理了常用的算法模块与功能点,涵盖从基础操作到高级重建的全流程。
基础操作示例
// 复制点云
pcl::copyPointCloud(*cloud, indicesY, *cloud_yboundary);
// 读取点云文件
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);
if(pcl::io::loadPCDFile<pcl::PointXYZ>("source_slice_4000_change.pcd", *cloud) == -1) {
PCL_ERROR("Could not read file\n");
}
// 保存点云文件
pcl::io::savePCDFileBinary("dragonfps.pcd", *filtered);
一、点云滤波
预处理阶段的核心步骤,用于去除噪声、下采样或提取感兴趣区域。
1、常用滤波器
- 直通滤波器
- 体素滤波器(含改进版及最小点数约束)
- 统计滤波器
- 半径滤波器
- 条件滤波器(含基于曲率的下采样)
- 模型滤波器
- 投影滤波器(平面、球面、圆柱、拟合直线)
- 索引提取器
- 高斯滤波
- 双边滤波(基于强度、法线、快速及多线程版本)
- 中值滤波
- 阴影点移除
2、采样滤波
- 均匀采样(含快速版本)
- 随机采样
- 法线空间采样
- 索引空间采样
- MLS 上采样
- 最远点采样
- 局部最大值滤波
- 栅格最低点获取
3、裁剪滤波
- 任意多边形内部点云提取
- 立方体内点云过滤
- 平面裁剪器使用
二、KD 树与八叉树
空间索引结构,加速邻域搜索与数据处理。
1、KD 树
- KD 树基本使用
- 圆柱形邻域搜索
- K 近邻可视化
- 平均密度计算
- 重叠点删除
2、八叉树
- 八叉树基本使用
- 点云压缩应用
- 空间变化检测
- 体素边界最值点计算
- 体素中心计算
- 基于八叉树的体素滤波
三、点云配准
将不同视角的点云对齐到同一坐标系。


