PCL:官方程序 Region growing segmentation

区域增长分割(算法不是很懂,有特别明白的可以给我讲讲疑问部分???)

在本教程中,我们将学习如何将pcl:: regiongrow cla在用实现区域增长算法。该算法的目的是在平滑约束条件下,将足够接近的点进行归并。因此,该算法的输出是一组簇,每个簇是一组点,这些点被认为是同一光滑曲面的一部分。该算法的工作是基于各点法线夹角的比较。

理论基础:

让我们看看这个算法是如何工作的。

首先,它根据曲率值对点进行排序。这样做是因为这个区域是从曲率值最小的点开始生长的。这样做的原因是曲率最小的点位于平面区域(从最平的区域开始生长可以减少区域块的总数)。

首先给点云排序(是上一步的按照曲率最小值排序吧????)直到云中有未标记的点(官网这句话啥意思????????),该算法选取曲率值最小的点,开始区域增长。这一过程如下:

(1)The picked point is added to the set called seeds.(该点是任意选择的吗????)选取点添加到点集中,该点集称为种子节点。

 (2)对于每个种子点,算法都要找到相邻的点。

              2.1 每个相邻的种子点都要计算其法线和当前种子点法线之间的夹角。如果角度小于阈值,则将当前点添加到当前区域中。

              2.2 然后对每个邻居进行曲率值测试。如果曲率小于阈值,则将该点添加到种子中。

              2.3 将当前种子从种子中移除。

(3)如果种子集变成空的,这意味着算法已经完成了区域生长算法,之后从开始将该过程进行重复。下面是该算法的伪代码:

(4)输入:                                                                                                      (5)初始化:

                      

PCL:官方程序 Region growing segmentation                                  PCL:官方程序 Region growing segmentation

(6)算法:

PCL:官方程序 Region growing segmentation