PCL库中类 pcl::MinCutSegmentation实现基于最小割的分割算法,该算法将一副点云图像分割为两部分:前景点云(目标物体)和背景点云(剩余部分)。
算法主要思想:
切割有两个非常重要的因素,第一个是获得点与点之间的拓扑关系,也就是生成一张“图”。第二个是给图中的连线赋予合适的权值。
(1)构造图:
对于给定的输入点云,以输入点云的所有点为顶点,以及一个源点和一个汇点,构造一个最近临图形,图形的每个顶点与源点和汇点以边线相连,得到t-links;除了源点和汇点,每一个顶点与其最近临点相连,得到n-links。
连接算法如下:
- 找到每个点最近的n个点
- 将这n个点和父点连接
- 找到距离最小的两个块(A块中某点与B块中某点距离最小),并连接
- 重复3,直至只剩一个块
(2)权值: