|
发表于 2016-4-20 16:26:09
|
显示全部楼层
pcl::SACSegmentationFromNormals<pcl::PointXYZ, pcl::Normal> seg;
pcl::ExtractIndices<pcl::PointXYZ> extract;
// Datasets
pcl::PointIndices::Ptr inliers_cylinder (new pcl::PointIndices);
// Create the segmentation object for cylinder segmentation and set all the parameters
seg.setOptimizeCoefficients (true);
seg.setModelType (pcl::SACMODEL_CYLINDER);
seg.setMethodType (pcl::SAC_RANSAC);
seg.setNormalDistanceWeight (0.01);
seg.setMaxIterations (100);
seg.setDistanceThreshold (0.05);
seg.setRadiusLimits (0.0,0.8);
seg.setInputCloud (cloud);
seg.setInputNormals (cloud_normals);
// Obtain the cylinder inliers and coefficients
seg.segment (*inliers_cylinder, *coefficients_cylinder);
// Write the cylinder inliers to disk
extract.setInputCloud (cloud);
extract.setIndices (inliers_cylinder);
extract.setNegative (false);
extract.filter (*cloud_cylinder);
cloud_cylinder->points就是你要的点
|
|