2026a
# 点云处理
点云预处理、可视化、配准、拟合几何形状、构建地图、实现 SLAM 算法以及使用三维点云的深度学习
点云是三维空间中的一组数据点。这些点共同表示一个三维形状或对象。数据集中的每个点都由 x、y 和 z 几何坐标表示。点云提供了一种将大量单独的空间测量值组装成可描述为对象的数据集的方法。点云处理应用于机器人导航与感知、深度估计、立体视觉、视觉配准以及高级驾驶辅助系统(ADAS)中。Computer Vision Toolbox 算法提供了用于下采样、去噪和转换点云的点云处理功能。该工具箱还提供了点云配准、三维点云的几何形状拟合,以及读取、写入、存储、显示和比较点云的能力。你可以组合多个点云以重建三维场景,或用配准的点云构建地图、检测闭环、优化地图以纠正漂移,并在预先构建的地图中执行定位。更多详情,请参阅在 Syslab 中实现点云 SLAM。
要执行点云配准(即将两个或多个点云对齐到单个坐标系的过程),通常首先选定一个点云作为参考或固定点云,然后将其他移动点云与其对齐。点云的绝对姿态是指其相对于参考帧(通常称为世界坐标系)的全局位置和方向。Computer Vision Toolbox 提供了各种配准技术来将移动点云注册到固定点云上。这些技术包括迭代最近点(ICP)、正态分布变换(NDT)、相位相关性以及相干点漂移(CPD)。你也可以使用 Lidar Registration Analyzer(Lidar Toolbox)应用程序交互式地注册并比较使用不同配准技术、调整参数和预处理步骤的结果。
# 函数
存储点云数据
| 函数名 | 简介 |
|---|---|
| pointCloud | 用于存储 3D 点云的对象 |
可视化点云
| 函数名 | 简介 |
|---|---|
| pcshow | 绘制三维点云图 |
| pcshowpair | 可视化两个点云之间的差异 |
处理点云数据
预处理
| 函数名 | 简介 |
|---|---|
| pcdenoise | 从三维点云中移除噪声 |
| pcdownsample | 对三维点云进行降采样 |
| pcnormals | 估计点云的法线 |
查找并移除点
| 函数名 | 简介 |
|---|---|
| findNearestNeighbors | 在点云中查找某一点的最近邻点 |
| findNeighborsInRadius | 在点云中查找某一点半径范围内的邻点 |
| findPointsInCylinder | 在点云中查找圆柱区域内的点 |
| findPointsInROI | 在点云中查找感兴趣区域内的点 |
| removeInvalidPoints | 从点云中移除无效点 |
| select | 在点云中选择点 |
| copy | 复制点云对象数组 |
配准点云并创建地图
配准点云
| 函数名 | 简介 |
|---|---|
| pcregistericp | 使用 ICP 算法注册两个点云 |
| pcregisterndt | 使用 NDT 算法注册两个点云 |
变换点云
| 函数名 | 简介 |
|---|---|
| rigidtform3d | 3D 刚体几何变换 |
| pctransform | 变换 3D 点云 |
对点云进行几何模拟
| 函数名 | 简介 |
|---|---|
| pcfitplane | 将平面拟合到三维点云 |
| pcnormals | 估计点云的法线 |
| planeModel | 用于存储参数化平面模型的对象 |