#include <pcl/filters/crop_box.h>//要包含的头文件。要包含哪些头文件,需要去查官方文档对该类的介绍。
pcl::PointCloud<pcl::PointXYZ>::Ptr body {new pcl::PointCloud<pcl::PointXYZ>};
pcl::PointCloud<pcl::PointXYZ>::Ptr filtered_body {new pcl::PointCloud<pcl::PointXYZ>};//指针还是对象,有时候只能指针,有时候都行。报错就换。
pcl::CropBox<pcl::PointXYZRGBA> box_filter;//滤波器对象
box_filter.setMin(Eigen::Vector4f(x_min, y_min, z_min, 1.0));//Min和Max是指立方体的两个对角点。每个点由一个四维向量表示,通常最后一个是1.(不知道为什么要有四个,大神知道的给解答一下下)
box_filter.setMax(Eigen::Vector4f(x_max, y_max, z_max, 1.0));
clipper.setNegative(false);//是保留立方体内的点而去除其他点,还是反之。false是将盒子内的点去除,默认为false
box_filter.setInputCloud(body);//输入源
box_filter.filter(*filtered_body);//滤它!
以上,是一个小例子。
下面,是我拿veloodyne激光雷达点云数据来处理的例子,将雷达后面的人过滤掉。