PCL函数库中有对三维点云模型的边界保留函数,主要代码如下:
pcl::PointCloud boundaries;
pcl::BoundaryEstimation boundEst;
pcl::NormalEstimation normEst;
pcl::PointCloud::Ptr normals(new pcl::PointCloud);
pcl::search::KdTree::Ptr searchTree(new pcl::search::KdTree);
searchTree->setInputCloud(cloud);
normEst.setInputCloud(cloud);
normEst.setSearchMethod(searchTree);
normEst.setKSearch(10);//表示计算点云法向量时,搜索的点云个数
normEst.compute(*normals);
boundEst.setInputCloud(cloud);//cloud 为用户的点云数据
boundEst.setInputNormals(normals);
boundEst.setRadiusSearch(Threadshold);//这里的Threadshold为一个浮点值,可取点云模型密度的10倍
boundEst.setAngleThreshold(M_PI / 4);
boundEst.setSearchMethod(pcl::search::KdTree::Ptr(new pcl::search::KdTree));
boundEst.compute(boundari