核心函数:
//直通passthrough滤波
pcl::PassThrough<pcl::PointXYZ> pass; //实例化直通滤波器
pass.setInputCloud(cloud_in); //设置输入点云
pass.setFilterFieldName("z");//设置滤波的field
pass.setFilterLimits(0,1);//上述field的滤波范围
pass.setFilterLimitsNegative(true);//设置要保存哪一部分点云,默认为false(field范围内部的点云)
pass.filter(*cloud_filtered);//输出点云到*cloud_filtered
完整代码:
#include <iostream>
#include <ctime>
#include <pcl/point_types.h>
#include <pcl/io/pcd_io.h>
#include <pcl/filters/passthrough.h>//直通滤波器文件
#include <pcl/visualization/pcl_visualizer.h>
int main() {
std::cout << "Hello, World!" << std::endl;
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_in(new pcl::PointCloud<pcl::PointXYZ>);
pcl::io::loadPCDFile("room_scan1.pcd",*cloud_in);
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_filtered(new pcl::Poin