Open3D 区域生长分割(python详细过程版)
目录
- 一、算法原理
-
- 1、 原理概述
- 2、 算法流程
- 二、代码实现
- 三、结果展示
-
- 1、原始点云
- 2、分割结果
- 3、保存结果
- 四、实验数据
- 五、相关链接
一、算法原理
1、 原理概述
首先依据点的曲率值对点进行排序,选择曲率值最小的点作为初始种子点,初始种子点所在的区域即为最平滑的区域,从最平滑的区域开始生长可减少分割片段的总数,提高效率。
2、 算法流程
- 选中的点被添加到名为种子的集合中。
- 对于每一个种子点,找到它的邻近点:
- 算出每个相邻点的法线和当前种子点的法线之间的角度,如果角度小于阈值,则将当前点添加到当前区域。
- 然后计算每个邻居点的曲率值,如果曲率小于阈值,那么这个点被添加到种子中。
- 将当前的种子从种子列表中移除。
- 如果种子列表变成空的,这意味着该区域生长已完成,继续重复上述过程。