文章目录
1算法汇总
1.1 渐进式形态学滤波
经典的地面滤波方法,经常与布料滤波相提并论。
progressive_morphological_filter.h
approximate_progressive_morphological_filter.h
[A Progressive Morphological Filter for Removing Nonground Measurements from Airborne LIDAR Data]
1.2欧式条件聚类
根据欧几里德距离和用户定义的聚类条件执行分割。(自定义条件,官方有示例代码)
conditional_euclidean_clustering.h
1.3超体素/图/超体素+图方法
(1)cpc分割算法:一种分割超体素图的分割算法。它使用由局部凹度引起的平面切割进行递归分割。使用局部约束的有向RANSAC估计切割。
CPC分割与LCCP分割是继承的关系
cpc_segmentation.h[Constrained Planar Cuts - Object Partitioning for Point Clouds.2014]
(2)crf分割(条件随机场分割,pcl源码tools文件夹内有该程序的示例)
crf_segmentation.h
crf_normal_segmentation.h
(3)lcpp分割算法,将一个超体素图分割为一组局部凸连通的超体素,这些超体素由凹边界隔开。
lccp_segmentation.h[Object Partitioning using Local Convexity.2015]
(4)min-cut分割(分割前景)
min_cut_segmentation.h[Min-Cut Based Segmentation of Point Clouds]
(5)grab_cut分割
grabcut_segmentation.h[Interactive Foreground Extraction using Iterated Graph Cuts]
(6)超体素分割
基于体素结构、法线和rgb值(不是必要的)实现超体素算法
supervoxel_clustering.h
(7)随机游走算法
random_walker.h[This is an implementation of the algorithm described in "Random Walks for Image Segmentation" ]
1.4有序点云分割
organized_connected_component_segmentation.h
organized_multi_plane_segmentation.h
1.5欧式聚类(官方示例)
extract_clusters.h
1.6欧式标签聚类
extract_labeled_clusters.h
1.7区域增长
region_growing.h
region_growing_rgb.h
1.8几何模型分割(官方示例)
sac_segmentation.h(除了ransac还可以选取别的拟合方法)
1.9点云差异获取
获取两个空间对齐的点云之间的差异,并返回最大给定距离阈值下它们之间的差异。
segment_differences.h
1.10二元分类
调用kmeans算法,结合法线、FPFH特征等的二元分类
unary_classifier.h
1.11DON分割(官方示例)
算法在feature模块中
features/don.h
1.12获取2d多边形内的点云
planar_polygon_fusion.h