pcl对点云进行直通滤波

直接上源代码吧~

#include<iostream>
#include<fstream>
#include <string>
#include <vector>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
#include <pcl/filters/passthrough.h>

int main()
{
      pcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZ>);
      pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_filtered (new pcl::PointCloud<pcl::PointXYZ>);
      pcl::io::loadPCDFile<pcl::PointXYZ>("/home/oliver/biaodingban.pcd",*cloud);//*打开点云文件

      pcl::PassThrough<pcl::PointXYZ> pass;

      pass.setInputCloud (cloud);            //设置输入点云
      pass.setFilterFieldName ("y");         //设置过滤时所需要点云类型的Z字段
      pass.setFilterLimits (-1.0, 2.0);        //设置在过滤字段的范围
      pass.setFilterLimitsNegative (true);   //设置保留范围内还是过滤掉范围内
      pass.filter (*cloud_filtered);            //执行滤波,保存过滤结果在cloud_filtered

      pcl::io::savePCDFile<pcl::PointXYZ>("/home/oliver/biaodingban_alone.pcd", *cloud_filtered);

      return 0;

}

原点云
在这里插入图片描述
滤波后的点云
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_29462849/article/details/88728778
今日推荐