直通滤波器非常简单实用,如果你不想要点云中的某一块儿,想把它砍掉,就直接设定某坐标轴上某范围,将范围以内或者以外的删除。
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZ>);
// 创建滤波器对象
pcl::PassThrough<pcl::PointXYZ> pass;
pass.setInputCloud (cloud);//这个参数得是指针,类对象不行
pass.setFilterFieldName ("x");//设置想在哪个坐标轴上操作
pass.setFilterLimits (0.0, 1.0);//将x轴的0到1范围内
pass.setFilterLimitsNegative (false);//保留(true就是删除,false就是保留而删除此区间外的)
pass.filter (*cloud_filtered);//输出到结果指针
截取前:
截取后: