1.介绍
本项目使用ubuntu16.04,ubuntu的其他版本应该也是可以的;
点云库PCL某某这本书其实是以官方的英文手册翻译成的,英文链接见以下地址:
但是想做相关的算法开发,只看书中的内容还是不够明白,只能找来官方文档读了,以下基本是翻译再加一些我自己的理解,如果有不清楚的还是建议自己去啃英文说明。
使用pcl:: regiong类实现区域增长算法。该算法的目的是在光滑性约束条件下合并相近的点,实现区域的分割,适用于不同平/曲面的分割。该算法的输出是不同曲面单元的集合,其中每个单元可以认为是一个光滑表面的点的总成。该算法基于点之间的法线角度比较完成划分。
2.算法实现
因为生长点是根据曲率进行寻找的,选择曲率最小的点,所以首先根据曲率将点进行分类。由于选择的曲率是最小的点,所以生长点附近一般均为平面或者相对较平坦的面。
将生长点添加进种子的集合。然后对种子里的每个生长点进行生长运算。
种子点的运算过程如下:
- 测试每个临近点与种子点法向量的夹角,如果角度小于临界值,则添加进当前的种子区域;
- 测试每个临近点的曲率,如果曲率小于临界值,则将该点添加进当前区域的种子列表;
- 第三步的意思其实是在找到曲率小于临界值的点后添加进种子列表,原来的种子点就要删除了,但是这一个地方有一个问题,是否需要原有的种子周围临

最低0.47元/天 解锁文章
40万+





