PCL直通滤波器PassThrough点云滤波
PassThrough
PassThrough是直通滤波器,意思是可以设定一个频带,可以选择保留频带内的或者舍弃频带内的
代码
#include <iostream>
#include <pcl/visualization/cloud_viewer.h>
#include <pcl/io/io.h>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
#include <pcl/kdtree/kdtree_flann.h>
#include <pcl/octree/octree.h>
#include <boost/thread/thread.hpp>
#include <pcl/common/common_headers.h>
#include <pcl/features/normal_3d.h>
#include <pcl/console/parse.h>
#include <pcl/filters/passthrough.h>
#include <vector>
#include <ctime>using namespace std;int main()
{//可视化pcl::visualization::CloudViewer viewer("Cloud Viewer");//过滤前点云pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>());//过滤后点云pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_filtered(new pcl::PointCloud<pcl::PointXYZ>());//点云读入if (pcl::io::loadPCDFile<pcl::PointXYZ> ("rabbit_gra.pcd", *cloud) == -1){PCL_ERROR("couldn't read file");return 0;}cerr<<"cloud before filtering"<<endl;cerr<<cloud->points.size()<<endl;cerr<<cloud->height<<" "<<cloud->width<<endl;for(size_t i = 0;i<5;i++)cerr<<" "<<cloud->points[i].x<<" "<<cloud->points[i].y<<" "<<cloud->points[i].z<<endl;//直通滤波器pcl::PassThrough<pcl::PointXYZ>pass;pass.setInputCloud(cloud); //输入点云pass.setFilterFieldName("z"); //沿z轴过滤pass.setFilterLimits(0.0,1.0); //选取0-1之间
// pass.setFilterLimitsNegative(true); //可选择0-1之间数据保留还是舍弃pass.filter(*cloud_filtered); //过滤cerr<<"cloud after filtering"<<endl;cerr<<cloud_filtered->points.size()<<endl;for(size_t i = 0;i<5;i++)cerr<<" "<<cloud_filtered->points[i].x<<" "<<cloud_filtered->points[i].y<<" "<<cloud_filtered->points[i].z<<endl;viewer.showCloud(cloud_filtered);while(!viewer.wasStopped());return 0;}
原图
选择保留
选择舍弃
提醒
终端中输出的数据过多会使可视化工具闪退,所以建议不建议在终端输出大量数据
PCL直通滤波器PassThrough点云滤波相关推荐
- PCL—低层次视觉—点云滤波(基于点云频率)
1.点云的频率 今天在阅读分割有关的文献时,惊喜的发现,点云和图像一样,有可能也存在频率的概念.但这个概念并未在文献中出现也未被使用,谨在本博文中滥用一下"高频"一词.点云表达的是 ...
- 三维计算机视觉(二)--点云滤波
转自:http://www.cnblogs.com/ironstark/p/4991232.html 点云滤波的概念 点云滤波是点云处理的基本步骤,也是进行 high level 三维图像处理之前 ...
- PCL入门系列 —— PassThrough 直通滤波、点云裁剪
PCL入门系列 -- PassThrough 直通滤波.点云裁剪 前言 程序说明 输出结果 代码示例 总结 前言 随着工业自动化.智能化的不断推进,机器视觉(2D/3D)在工业领域的应用和重要程度也同 ...
- PCL从0到1|点云滤波之直通滤波与体素法滤波
3D视觉工坊的第51篇文章 今天呢,想和大家聊一聊点云滤波处理的相关模块. 我对点云模块了解得也不算深入,此处单纯地想和大家分享一下这几天我所学习到的点云滤波知识,如有不到之处,还请后台留言多多指正. ...
- 点云库PCL学习笔记 -- 点云滤波Filtering -- 3. StatisticalOutlierRemoval 统计滤波器
点云库PCL学习笔记 -- 点云滤波Filtering -- 3.StatisticalOutlierRemoval 统计滤波器 StatisticalOutlierRemoval 统计滤波器相关简介 ...
- 《PCL从入门到精通学习》第六章点云滤波
最近发现了一个很好的博客:https://blog.csdn.net/longer88888/article/details/104751036,里面对pcl和相关滤波解释的相当清楚.朱德海老师书中源 ...
- 算法加速篇(一)------OPENMP并行加速及PCL直通滤波和求法向量加速
系列文章目录 巧了,第一篇,目前什么都没有 文章目录 系列文章目录 前言 一.OPENMP并行加速 1.开启openMP 2.指令及注意事项 二.PCL直通滤波与法向量加速 1.直通滤波 2.法向量计 ...
- PCL入门系列 —— StatisticalOutlierRemoval 点云统计滤波
PCL入门系列 -- StatisticalOutlierRemoval 点云统计滤波 前言 程序说明 输出结果 代码示例 总结 前言 随着工业自动化.智能化的不断推进,机器视觉(2D/3D)在工业领 ...
- 读自动驾驶激光雷达物体检测技术(Lidar Obstacle Detection)(2):点云滤波FilterCloud()函数
FilterCloud()所包括的功能: 1.首先使用体素滤波(相当于做稀释减少点的数量)(体素网格过滤将创建一个立方体网格, 过滤点云的方法是每个体素立方体内只留下一个点, 因此立方体每一边的长度越 ...
最新文章
- 暑期集训1:C++STL 练习题D:HDU-1509
- 使用SQLite学习SQL
- 前端学习(2964):路由的实现
- 论文浅尝 | 基于图匹配神经网络的跨语言知识图对齐 (ACL 2019)
- k8s挂载目录_gitlab-runner在Kubernetes环境下挂载宿主机目录的方法
- 大厂技术文档:Python 基础+爬虫+数据分析+面试经精选
- 系统学习深度学习(四十)--基于模拟的搜索与蒙特卡罗树搜索(MCTS)
- 【算法系列学习】Dijkstra单源最短路 [kuangbin带你飞]专题四 最短路练习 A - Til the Cows Come Home...
- 【学堂在线数据挖掘:理论方法笔记】第八天(4.2)
- 数电笔记:触发器的基础知识
- 有关计算机计算类教案,计算教案
- 人民币转换美金的c语言代码大全,JS实现将人民币金额转换为大写的示例代码
- SNF快速开发平台成长史V4.5-Spring.Net.Framework-SNF软件开发机器人
- 为什么HashMap使用红黑树而不使用AVL树
- 你还在抱怨职场的不公吗?
- 一篇文章学会二进制的运算以及原码、反码、补码
- Co Attention注意力机制实现
- pvifa怎么用计算机算,怎样用用“卡西欧”计算机fx-82ES PLUS 计算年金现值系数和年金终值系统?...
- 程序员学习能力提升三要素
- java毕业设计电商后台管理系统Mybatis+系统+数据库+调试部署