PCL1.8.1 提取分割后的点云

使用分割算法分割完成后,会将分割的点云索引保存在pcl::PointIndices类型的数据中,其实是一个vector的数组。经过该indices使用pcl::ExtractIndices<PointT>把点云提取到单独的点云中。php

http://pointclouds.org/documentation/tutorials/cylinder_segmentation.php#cylinder-segmentation算法

#include <pcl/filters/extract_indices.h>


typedef pcl::PointXYZ PointT;
//分割的输入点云
pcl::PointCloud<PointT>::Ptr cloud(new pcl::PointCloud<PointT>);
//保存分割后点云的数据索引
pcl::PointIndices::Ptr inliers_plane(new pcl::PointIndices);

//提取
pcl::ExtractIndices<PointT> extract;

extract.setInputCloud(cloud);
extract.setIndices(inliers_plane);
//保存提取的plane点云
extract.setNegative(false);
//存放提取的plane点云
pcl::PointCloud<PointT>::Ptr cloud_plane(new pcl::PointCloud<PointT>());
extract.filter(*cloud_plane);


// Remove the planar inliers, extract the rest
extract.setNegative(true);
pcl::PointCloud<PointT>::Ptr cloud_filtered2(new pcl::PointCloud<PointT>);
//提取剩余的点云
extract.filter(*cloud_filtered2);
相关文章
相关标签/搜索