对于范围较广的点云来说,一开始先使用基于模型的点云分割方法将类似于平面这样的点云块提出来,然后在对留下的小部分点云进行像欧式聚类这样的后续分割处理。
原始点云:
代码,对代码的理解都注释上了,以便于以后复习~注释真的很重要~~~:
#include <pcl/ModelCoefficients.h> //模型参数头文件
#include <pcl/point_types.h>
#include <pcl/io/pcd_io.h>
#include <pcl/filters/extract_indices.h> //索引提取头文件
#include <pcl/filters/voxel_grid.h> //体素分割头文件
#include <pcl/features/normal_3d.h>
#include <pcl/kdtree/kdtree.h>
#include <pcl/visualization/cloud_viewer.h>
#include <pcl/sample_consensus/method_types.h>
#include <pcl/sample_consensus/model_types.h>
#include <pcl/segmentation/sac_segmentation.h>
#include <pcl/segmentation/extract_clusters.h>
using namespace std;
int main()
{
//读入点云文件
pcl::PCDR