刚用手持 LiDAR 扫完一间建筑内部,SLAM 算法吐出来一个 E57 或 LAS 文件,然后呢?点云里有噪点、玻璃反光产生的鬼影、多趟扫描重叠的区域。你需要给建筑师出平面图,给客户出 3D 网格,给承包商算土方量。
CloudCompare 是一款免费开源的点云处理软件,支持 Windows、macOS 和 Linux,能流畅处理上亿级别的点云数据。本文覆盖完整工作流:从导入原始扫描数据,到清理、配准、生成各类交付成果,以及几个能省时间的高级技巧。
为什么选 CloudCompare
手持 LiDAR 扫描仪(Livox Mid-360、M360、RS10 或自制 SLAM 方案)输出的数据格式通常是 E57、LAS 或 PLY。这些数据几乎都需要清理才能用。CloudCompare 能:
- 原生读取主流格式:E57(保留强度和颜色)、LAS/LAZ(GIS 标准)、PLY(轻量通用)
- 基于八叉树渲染:加载 1 亿点以上的点云不会卡死,这对手持 SLAM 扫描仪动辄 200kHz 的点频产生的数据量很关键
- 插件生态:地面分割(CSF)、自动分类(3DMASC)、批处理脚本(Python)等
从 cloudcompare.org 下载安装。安装包包含核心功能,插件通过内置管理器单独安装。
导入扫描数据
格式选择
| 格式 | 优势 | 适用场景 |
|---|---|---|
| E57 | 存储强度、颜色和元数据;支持多站点 | 测绘级交付 |
| LAS/LAZ | 行业标准,LAZ 压缩节省约 50% 空间 | GIS 工作流 |
| PLY | 简单通用,无额外元数据开销 | 快速查看 |
| PTX | 徕卡格式,兼容性好 | 徕卡设备互通 |
手持 SLAM 工作流通常用 E57,保留元数据且适合高密度点云。
导入步骤
- 文件 → 打开,或者直接拖拽文件到窗口
- CloudCompare 自动识别格式,加载点云
- 左侧 DB Tree 面板显示点云名称和点数
大文件(500MB+)首次加载需要 30-60 秒构建八叉树。如果系统吃力,可以导入时勾选"降采样",先看 500 万点的概览,再加载全分辨率。
点云清理
这是最耗时的一步。原始数据需要去掉噪点、鬼影和不需要的区域。
噪声过滤
统计离群点移除(SOR):去掉孤立点,这些点周围没有足够的邻居。这是任何原始扫描的第一步处理。
- 编辑 → 标量 → 噪声过滤(或搜索 "SOR")
- 设置邻居数(6-8)和标准差倍数(1.0-2.0)
- 预览效果,被过滤的点会高亮为红色
如果鬼影还在,再跑一遍 SOR,参数收紧一些。
半径离群点移除:去掉在固定半径内邻居数少于 X 的点。适合清理玻璃或金属表面附近的小簇噪点。
- 编辑 → 清理 → 半径
- 半径设 2-5cm(取决于你的点密度),邻居数设 2-3
裁剪区域
用裁剪工具去掉不需要的部分:
- 裁剪框:编辑 → 分割 → 裁剪框,画一个方框保留需要的区域,可以逐面调整
- 手动分割:编辑 → 分割 → 手动,在屏幕上画多边形选点,更精确但更慢
地面分割(CSF)
布料模拟滤波器(CSF)把地面点和非地面点分开,对室外扫描和大空间室内扫描效果好。
- 安装 CSF 插件(插件 → 浏览插件 → 搜索 "CSF")
- 编辑 → 分割 → CSF 滤波
- 默认参数适用于大多数手持扫描
输出两组点云:地面点和非地面点。
去除鬼影
手持 LiDAR 在玻璃窗、抛光地面或镜面附近会产生鬼影点——反射后在真实表面后面出现的薄层重复点。
没有自动修复方法。手动操作:
- 用选点工具定位鬼影层
- 用分割工具框选并删除
- 大面积反射区可以用裁剪框排除,再从相邻扫描补点
点云配准
如果 SLAM 软件没有把多趟扫描合并到同一坐标系,或者你做了多轮独立扫描,就需要手动配准。
粗配准
先让两片点云大致对齐:
- 包围盒中心对齐:编辑 → 对齐 → 包围盒中心
- 手动对齐:选 4+ 对应点
精配准(ICP)
迭代最近点(ICP)通过最小化重叠点的距离来精细调整。
- 在 DB Tree 中 Ctrl+点击选两片云
- 编辑 → 对齐 → 注册(ICP)
- 参数设置:重叠 20-50%,迭代 10000+ 次,随机采样 50000 点
- 点击注册
ICP 的前提是两片云已经大致对齐。如果初始对齐差,ICP 会陷入局部最优,结果反而更差。
配准质量检查
ICP 之后验证重叠质量:
- 选两片已配准的云
- 编辑 → 点云 → 计算点云/点云距离
- 绿色 = 对齐良好,红色 = 对齐差
- 看 RMS 统计:手持 SLAM 数据亚厘米级 RMS 可期,2cm 以内对多数交付够用
确认无误后合并:编辑 → 合并。
生成交付成果
平面图
建筑师要 2D 平面图:
- 选清理好的云
- 编辑 → 分割 → 栅格化
- 投影方向设 Z 轴(水平平面图)
- 导出
技巧:先用裁剪框只保留墙面高度(比如地面以上 0.5m 到 2.5m),去掉天花板和地面的干扰。
3D 网格
把点云转成三角形网格,用于 Blender、Unity 等工具。
泊松重建:表面光滑封闭,但可能过平滑尖角:
- 编辑 → 网格 → 泊松重建
- 八叉树深度设 9-11
贪心投影三角化:保留尖角更好,但要求输入干净:
- 先计算法向量:编辑 → 法向量 → 计算法向量
- 编辑 → 网格 → 贪心投影三角化
建筑扫描选贪心投影(尖角多),地形/岩石选泊松(曲面多)。
体积计算
挖方填方、料堆计算:
- 加载前后两片云,或一片云加参考平面
- 编辑 → 体积 → 2.5D 体积计算
- 设投影方向和网格步长
- 输出挖方/填方量和色差图
测量工具
- 点对点距离:编辑 → 测量 → 点对点
- 点到云距离:选一个点和一片云,编辑 → 测量 → 到点云距离
- 截面提取:编辑 → 分割 → 剖面,画一条线穿过点云,导出截面轮廓
导出格式
| 交付物 | 推荐格式 |
|---|---|
| 建筑平面图 | DXF、SVG 或 PNG |
| 3D 可视化 | OBJ 或 FBX |
| GIS/测绘 | E57 或 LAS |
| 网页分享 | 3D Tiles 或 Potree |
| 通用 | PLY(二进制) |
高级技巧
着色可视化
原始 LiDAR 通常带强度通道。CloudCompare 可以按以下方式着色:
- 高程着色:显示 → 设为唯一 → 标量场 → 选 "Coord. Z",蓝色=低,红色=高
- 强度着色:扫描数据中的强度值会显示为标量场
- 偏差着色:计算点云/点云距离后,偏差值自然形成热力图
这些可视化帮你快速发现配准误差、噪声区域和数据缺失。
变化检测
如果有同一区域不同时间的两份扫描(裂缝监测、施工进度跟踪):
- 配准两片云
- 计算点云/点云距离
- 超过阈值的点标为"变化"
不需要第三方软件就能生成变形报告。
批处理脚本
CloudCompare 的 Python 插件可以自动化重复任务。如果一次测绘有 50 个扫描文件需要跑同样的 SOR → 裁剪 → 网格 → 导出流水线,写个脚本省几个小时。
安装 Python 插件后,在 Python 控制台中编写脚本。CloudCompare 维基上有 示例脚本。
CloudCompare 处理不了的事
| 任务 | 推荐工具 |
|---|---|
| 从点云生成 Revit/IFC 模型 | Revit + PointSense 或 Autodesk ReCap |
| 自动 Scan-to-BIM | Cintoo 或 Autodesk Tandem |
| 网页端点云查看 | Potree |
CloudCompare 负责点云处理,下一步的 Scan-to-BIM 转换 或 精度评估 需要配合其他工具。
快速上手
从 cloudcompare.org 下载,最新稳定版(2026 年中为 2.13.x)包含 GPU 加速渲染和改进的插件支持。8GB RAM 的笔记本就能跑,处理 5000 万点以上建议 16GB。
找一个样本点云试试——OpenTopography 或 CloudCompare 论坛都有免费数据。按 SOR → 裁剪 → 网格的流程走一遍,一个小时熟悉界面,两三个项目后就是肌肉记忆了。
📖 延伸阅读
-
手持 LiDAR 扫描到 BIM 转换完整指南
从点云到 Revit/IFC 模型,Scan-to-BIM 全流程详解。
-
手持 LiDAR 点云精度评估指南
如何验证和提升手持 SLAM 扫描的精度。
-
手持 3D 扫描建模实战
从扫描到 3D 模型的完整建模工作流。
-
手持 LiDAR SLAM 精度全面分析
不同 SLAM 算法和设备的精度对比实测。
© 2026 SmartBotParts. All rights reserved.