0

I have a pointcloud from which I extracted a ground plane. Now I want to apply a region growing on all points except for the ground plane. How could I do that efficiently ?

pcl::SACSegmentationFromNormals <pcl::PointXYZRGB, pcl::Normal> ground_seg;
ground_seg.setInputCloud(input_cloud);
ground_seg.setInputNormals(input_normals);
ground_seg.segment(*ground_indices, *coefficients);

pcl::RegionGrowing<pcl::PointXYZRGB, pcl::Normal> region_growing;
region_growing.setIndices(ground_indices); // In this case, region growing is applied on the plane indices
JT93
  • 3
  • 1

1 Answers1

1

I couldn't just find a way to get the negative indices of what SACSegmentationFromNormals find, but you could try use:

pcl::ExtractIndices, see this tutorial: https://pcl.readthedocs.io/en/latest/extract_indices.html?highlight

Then use setNegative(true) to get a new point cloud, only containing what you want to do region growing on afterwards.

Lars
  • 51
  • 1