PCL体素下采样滤波器作为一种功能

时间:2017-11-14 10:17:32

标签: 3d point-cloud-library point-clouds

我想使用一些过滤器作为'功能'所以我对不同的输入云使用相同的过滤器,即通过不同的云作为参数。例如,体素滤波器(见下文)可以用于不同的输入云。如果我有云A和B,我必须定义sor1和sor2,因为我不能在两者上使用相同的sor,或者它可能但我不知道如何去做。有人可以就此分享一些想法。

 // Create the filtering object
 pcl::VoxelGrid<pcl::PCLPointCloud2> sor;
 sor.setInputCloud (cloud);
 sor.setLeafSize (0.01f, 0.01f, 0.01f);
 sor.filter (*cloud_filtered);

1 个答案:

答案 0 :(得分:1)

是的,只需再次为新云调用setInputCloud(),然后过滤()。

或者你可以把它全部放在一个函数中,并且为了简单起见每次都创建一个新对象。

voxelFilter(cloud)
{
   // Create the filtering object
   pcl::VoxelGrid<pcl::PCLPointCloud2> sor;
   sor.setInputCloud (cloud);
   sor.setLeafSize (0.01f, 0.01f, 0.01f);
   sor.filter (*cloud_filtered);
   return cloud_filtered;
}