本文由CSDN点云侠原创,首发于:2022年7月3日。博客长期更新,本文最新更新时间为:2025年4月20日。
1.断面提取功能
使用Tools > Segmentation > Cross Section
访问此工具。
此工具允许用户定义围绕给定云的剪切框(交互式或非交互式)。例如,可以调整盒子范围和方向以便分割云。此外,该工具还可以:
- 在一个或多个维度中重复进行分段的过程(为实例提取多个“切片”)
- 在每个切片中提取多边形轮廓
选择一个点云并启动该工具的界面如下:
需要注意的是:这里的初始裁剪框(即图中黄线部分)是点云的包围盒
编辑裁剪框:
可以以各种方式编辑裁剪框,可以采用交互式的方式拖动大红色,绿色和蓝色箭头和圆环,直接在3D视图中移动剪切框边界。箭头尖端用于推拉剪切框面,而圆环可用于围绕箭头轴旋转框。左下角(黄色)的交互器可以用来移动整个框。
右上角的如下按钮能够取消或显示裁剪框和箭头。
也可以使用“X”,“Y”和“Z”字段直接编辑裁剪框的尺寸(宽度,深度和高度)。还可以使用对话框下部的按钮(“Shift box”框架)在所有方向上移动框。该框将移动与此维度中的框宽度相同的数量。最后,如果需要更多控制权,可以单击“advanced
”按钮。将出现“标准”3D盒子版本对话框。
通过各种方式在空间中设置盒子位置(例如,甚至强制盒子为立方体)。
可视化:
可以通过一下按钮调整视图
2.提取单个切片
点击如下按钮,即可提取裁剪框内的点。
3.提取单个轮廓
点击如下按钮,进行边界轮廓线提取。
主要参数及功能如下所示
必要参数
flat dimension
:平面尺寸,根据当前截面尺寸自动设置maximum edge length
:最大边长,由于采用“凹包”算法提取轮廓。此工具的唯一参数是单个边的“最大尺寸”。该算法从切片点的凸包开始。只要边缘长于指定的“最大长度”,算法将尝试使用附近的另一个点来分割它。这样轮廓将更紧密地靠近点云。因此参数越小,轮廓越紧密。
其他选项
project slice(s) points on their best fit plane
:轮廓提取是在2D平面中完成的,CloudCompare不是将切片平面尺寸用作投影平面,而是将点投影到最佳拟合平面上(这对于非常厚的切片,通常效果会更好)。split contour(s) on longer edges
::CloudCompare可以在每次边缘长于“最大边长”参数时分割轮廓。在这种情况下,可以生成多个非闭合折线而不是单个闭合轮廓。visual debug mode
:用于显示调试结果。
4.提取多个切片
如下图所示的按钮是实现多个切片提取
该对话框中的大多数参数与“提取单个轮廓”对话框相同。
但是,用户必须明确指定是否希望生成轮廓(选中“Extract contour(s)
”复选框以启用)。否则只会生成切片。
其他参数是:
Repeat dimension
:设置提取的纬度(默认情况下,只会检查“平面”维度)。Gap
:相邻切片之间的空隙距离。
具体操作如下:
5.相关代码
[1] PCL 平面点云的凸多边形边界提取
[2] PCL 平面点云的凹多边形边界提取
[3] PCL 点云切片
[4] Open3D 点云切片
[5] PCL 点云沿坐标轴进行等距切片
[6] PCL 点云沿任意指定方向进行等距切片
[7] matlab 点云沿坐标轴进行等距切片
[8] Open3D 点云沿坐标轴进行等距切片