在本教程中,我们将学习如何使用pcl::RegionGrowingRGB类
实现的基于颜色的区域增长算法。该算法基于与区域增长分割教程pcl::RegionGrowing
中描述的相同概念。
基于颜色的算法有两个主要区别。第一个是它使用颜色而不是法线。第二个是它使用合并算法进行过分割和欠分割控制。让我们来看看它是如何完成的。分割后,尝试合并颜色相近的簇。将平均颜色差异较小的两个相邻簇合并在一起。然后进行第二个合并步骤。在此步骤中,每个集群都通过其包含的点数进行验证。如果此数字小于用户定义的值,则当前集群将与最近的相邻集群合并。
源码:
创建 region_growing_rgb_segmentation.cpp 文件
1#include <iostream>
2#include <thread>
3#include <vector>
4
5#include <pcl/point_types.h>
6#include <pcl/io/pcd_io.h>
7#include <pcl/search/search.h>
8#include <pcl/search/kdtree.h>
9#include <pcl/visualization/cloud_viewer.h>
10#include <pcl/filters/filter_indices.h> // for pcl::removeNaNFromPointCloud
11#incl