当前位置: 首页 > news >正文

PCL-直通滤波

本篇内容:

  • 讲解直通滤波的作用
  • 通过pcl实现直通滤波
    效果:
    在这里插入图片描述

1 主要原理

点云数据通常包含x、y、z三个维度的数据,用户指定维度、范围后,直通滤波过滤或保留该范围内的所有点云
假设我指定维度’y’,范围(0.0,0.1),运行直通滤波后,则过滤或保留y坐标为(0.0,0.1)范围内的所有点云

2 直通滤波主要流程

初始化直通滤波器:

pcl::PassThrough<PointType> pt_filter;

设置输入点云:

pt_filter.setInputCloud(cloud);

设置过滤维度:

pt_filter.setFilterFieldName("y");

设置过滤范围:

pt_filter.setFilterLimits(0.0, 0.1);

设置过滤或保留:

pt_filter.setNegative(true);	// 设置为true,表示保留在过滤范围外的点,为false,表示保留在过滤范围内的点

执行过滤:

pt_filter.filter(*cloud_filter);

3 完整代码

#include <string>
#include <iostream>
#include <pcl/io/pcd_io.h>
#include <pcl/point_cloud.h>
#include <pcl/point_types.h>
#include <pcl/filters/passthrough.h>// 前置点云类型,方便以后更改
using PointType = pcl::PointXYZ;
using PointCloud = pcl::PointCloud<PointType>;
using PointCloud_Ptr = PointCloud::Ptr;int main(int argc, char **argv) {if (argc < 3) {std::cout<<"Usage: ./read_pcd <pcd_file_path> <pcd_save_path>\n";return -1;}std::string pcd_file_path(argv[1]);std::string pcd_save_path(argv[2]);// 声明变量,用于保存点云数据PointCloud_Ptr cloud(new PointCloud);PointCloud_Ptr cloud_filter(new PointCloud);// 读取pcd点云文件if (pcl::io::loadPCDFile<PointType>(pcd_file_path, *cloud) == -1) {std::cerr<<"check pcd path\n";return -1;}// 初始化过滤器pcl::PassThrough<PointType> pt_filter;// 设置输入点云pt_filter.setInputCloud(cloud);// 设置过滤维度pt_filter.setFilterFieldName("y");// 设置过滤范围pt_filter.setFilterLimits(0.0, 0.1);// 设置为true,表示保留在过滤范围外的点,为false,表示保留在过滤范围内的点pt_filter.setNegative(true);// 执行过滤pt_filter.filter(*cloud_filter);// 保存点云文件pcl::io::savePCDFileASCII(pcd_save_path, *cloud_filter);return 0;
}

http://www.mrgr.cn/news/16943.html

相关文章:

  • 617. 合并二叉树
  • 【AI 绘画】更快?更省显存?支持 FLUX?使用绘世启动器安装 SD WebUI Forge
  • 【王树森】Few-Shot Learning小样本学习 (1/3): 基本概念(个人向笔记)
  • AutoGen 检索增强生成(RAG)功能解析
  • 拥抱开源拥护国产|暴雨打造最强AI的服务器操作系统!
  • 前端进阶| 深入学习面向对象设计原则
  • Oracle(98)如何启用审计?
  • 结构化数据、半结构化数据、非结构化数据
  • 30Kg载重1小时长续航油电混动无人机技术详解
  • 部署project_exam_system项目——及容器的编排
  • 客户端、APP、Desktop和H5的区别
  • 【深度遍历】【排列组合】【力扣】有重复字符串的排列组合
  • 智慧警用装备管理系统|支持国产化
  • 博客园-awescnb插件-geek皮肤优化-目录优化
  • 网络编程学习:TCP/IP协议
  • 苍穹外卖项目前端DAY01
  • 域渗透应急响应
  • 苹果mac数据恢复概率大吗 mac数据恢复专业软件哪个好用
  • Python | Leetcode Python题解之第388题文件的最长绝对路径
  • C++笔记---模板初阶