点云库PCL学习教程——第4章 输入输出(I/O)

学习笔记:点云库PCL(Point Cloud Library )介绍 在environment.cpp中使用pcl查看器的函数是initCamera和initHighway,initCamera函数用于在窗口中设置不同的观察角度,有5种不同的选择:XY, TopDown, Side和FPS---XY提供45度视角,FPS则是第一人称视角,给人一种坐在汽车驾驶座上的感觉。... 阅读详情

这里写图片描述

4.1(I/O涉及的设备及相关概念)


4.1.1 OpenNI开源框架

OpenNI是一个多语言、跨平台的框架,它定义了一套用于编写通用自然交互应用的API,主要目的就是形成标准的API,便于下面两个接口之间进行通信:
(1)视觉和音频传感器(用来感知周围环境信息)
(2)视觉和音频感知中间件(用来对应用场景中所记录的音频和视觉数据进行分析和理解,例如能够接受一份可见的图像数据并返回从中检测到的手掌位置信息。)
兼容设备:Primesense Reference Design、Microsoft Kinect和Asus XtionPro
通过这些设备可以获取点云数据的采集。

4.2 PCL中I/O模块及类的介绍


4.2.1 I/O模块中类以及全局函数说明

I/O模块中目前共有21个类
1、class pcl::FileReader
定义了PCD文件的读取接口,主要用做其他读取类的父类。
关键成员函数:
virtual intreadHeader(const std::string & file_name, sensor_msgs::PointCloud2 &cloud, Eigen::Vector4f &origin, Eigen::Quaternionf &orientation, int &file_version, int &data_type, unsigned int &data_idx, const int offset=0)=0 //纯虚函数,定义读取点云头文件的接口函数
【pcl::PCDReader, pcl::PLYReader都继承于此函数】

2、class pcl::FileWriter
是写入PCD文件的类接口定义。与FileReader对应,可以作为其他写入类的父类。
关键成员函数:
virtual int write
【pcl::PCDWriter, pcl::PLYWriter都继承于此函数】

3、class pcl::Grabber
类Grabber为PCL1.X对应的设备驱动接口的基类定义。

// 类的关键成员函数
// 提供回调函数指针,当获取每帧图像或点云数据时都会启动回调函数:
template<typename T>
boost::signals2::connectionregisterCallback(const boost::function<T>&callback)

// 判断是否提供回调函数:
emplate<typename T>
bool providesCallback()const

// 启动设备,开始传输数据流:
virtual void start() = 0

// 停止设备上的数据流传输:
virtual void stop() = 0

// 返回明确的子类名字:
virtual std::string getName() const = 0

// 返回是否在传输数据流:
virtual bool isRunning() const = 0

// 获取FPS帧率,即每秒多少帧数据:
virtualfloat getFramesPerSecond() const = 0

4、classopenni_wrapper::OpenNIDevice
类OpenNIDevice定义OpenNI设备的基类,继承该基类可以实现不同的OpenNI设备子类,用于获取包括红外数据、RGB数据、深度图像数据等。

5、class openni_wrapper::DeviceKinect
6、class openni_wrapper::DevicePrimesense
7、class openni_wrapper::DeviceXtionPro
8、class openni_wrapper::DeviceONI
9、class openni_wrapper::OpenNIDriver
10、class openni_wrapper::OpenNIException
11、class openni_wrapper::Image
12、class openni_wrapper::ImageByerRGBG
13、class openni_wrapper::ImageRGB24
14、class openni_wrapper::ImageYUV422
15、class pcl::OpenNIGrabber
16、class pcl::PCDReader
17、class pcl::PLYReader
18、class pcl::PCDWriter
19、class pcl::PLYWriter
20、class pcl::PCLIOExpection
用到再具体了解吧

4.3 应用实例解析


4.3.1 PCD(点云数据)文件格式

3D点云数据的文件格式:

  1. PLY是一种多边形文件格式,由Stanford大学的Truk等人设计开发;
  2. STL是3D Systems公司创建的模型文件格式,主要应用于CAD,CAM领域;
  3. OBJ是从几何学上定义的文件格式,首先有Wavefront Technologies开发;
  4. X3D是符合ISO标准的基于XML的文件格式,表示3D计算机图形数据;
  5. 其他

PCD文件格式的优势:

  1. 存储和处理有序点云数据集的能力——这一点对于实时应用,例如增强现实、机器学习领域十分重要。
  2. 二进制mmap/munmap数据类型是把数据下载和存储到磁盘上最快的方法。
  3. 存储不同的数据类型(支持所有的基本类型:char, short, int, float, double)——使得点云数据在存储和处理过程中适应性强并且高效,其中无效的点通常存储为MAN类型
  4. 特征描述子的n维直方图——对于3D识别和计算机视觉应用十分重要。
PCL点云库安装及学习(2021.7.28) PCL点云库学习 2021.7.131、PCL简介2、PCL环境配置3、PCL代码实战 1、PCL简介         PCL是一个点云库,PCL帮助文档,PCL论文下载,PCL的Github地址 2、PCL环境配置 3、PCL代码实战 ... 阅读详情

相关推荐

Ubuntu下安装PCL1.12.1点云库经验分享

Ubuntu下安装PCL点云库经验分享

QBigBangQ的博客 9670

PCL入门<九> 输入与输出

今天讲解一下PCL的输入输出。 首先是输入,从pcd文件中读取点云 pcl::PointCloud::Ptr cloud(new pcl::PointCloud); if (pcl::io::loadPCDFile(pcd_file, *cloud) == -1) { std::cout << "Cloud reading failed." << std

念去去的博客 1956

Windows下安装PCL点云库

简介: 在Windows下安装PCL点云库的方法大概有两种:其一,all-in-one-installer,这个只有两个版本1.5.1和1.6.0,而且顾名思义,安装方法极其简单,这里就不多做介绍了;其二,build PCL out of source,这里我们可以使用PCL的各种版本,而且随着PCL的更新,我们也可以不断的update

宫保鸡丁 1万+

PCL(常用api)

这个博客持续更新啦--------------------------------- 另外多参考这个博主的内容:https://www.cnblogs.com/flyinggod/p/9478000.html(写的很好啦) 1.找到目标点云中x,y,z中得最值,以及对应得索引; subset1_maxz = cloud_subset1->points[0].z; subset...

weixin_43384504的博客 1579

win10系统下 VS2019点云库PCL1.12.0的安装与配置

介绍了在window系统PCL点云库的安装和在VS2019下的环境配置过程,并附上一个测试demo。

Nelson_Leo的博客 1万+

PCL点云库学习笔记(输入输出)

PCL点云库学习笔记(二)输入输出(I\O)一、概述二、PCD 点云格式三、从PCD文件读取点云数据四、从PCD文件中写入点云数据 输入输出(I\O) 一、概述 IO库包含用于读写点云数据(PCD)文件的类和函数,以及从各种传感设备捕获点云。 二、PCD 点云格式 1.为什么用一种新的文件格式? PCD文件格式的出现,是因为现有的文件结构不支持由PCL库引进n维点类型机制处理过程中的某些扩展。PCD不是第一个支持3D点云数据的文件类型,尤其是计算机图形学和计算几何学领域,已经创建了很多格式来描述任意多边形和

Catog的博客 2212

PCL获取点云中某点坐标

#include <string> #include <pcl/io/pcd_io.h> #include <pcl/point_cloud.h> #include <pcl/point_types.h> #include <pcl/visualization/pcl_visualizer.h> using PointT = pcl::PointXYZ; using PointCloudT = pcl::PointCloud<PointT&

m0_45081612的博客 3288

PCL点云库完全教程:从基础到实战应用

点云库(Point Cloud Library,PCL)是一个开源的大型跨平台机器视觉库,专注于处理点云数据,广泛应用于三维数据处理领域。PCL库集合了多种计算机视觉和图形处理的算法,支持从点云获取、滤波、特征提取、分割、表面重建、配准到可视化等多个处理步骤,为研究者和开发者提供了一站式的解决方案。以下介绍几种常用的点云滤波算法:均值滤波:通过对点云中的点及其邻域点取均值来平滑表面,减少噪声。中值滤波:将每个点的位置替换为邻域点的中值,有效去除离群点。统计滤波。

weixin_42405592的博客 3653

PCL学习一:点云与PCL基础

PCL学习一:点云与PCL基础

qq_42994487的博客 1万+

PCL点云学习宝典,API讲解,学习PCL必须!

PCL点云学习宝典,API讲解,学习PCL必须!

告别手动维护!教你用SAP BAPI批量更新生产订单BOM组件(CO02工单)

本文详细介绍了如何利用SAP BAPI实现生产订单BOM组件的批量更新,解决传统手工操作(如CO02工单)效率低下的问题。通过核心函数解析和批量处理框架设计,帮助用户大幅提升工作效率,降低错误率,适用于物料主数据变更、季节性配方调整等场景。

weixin_30844577的博客 561

点云库PCL学习教程问题集

在复现点云库PCL学习教程中,遇到的问题和解决办法

qq_58220938的博客 4612

5分钟搞定Nano-Banana图片编辑API对接:从Base64编码到生成图片全流程

本文详细介绍了如何快速对接Nano-Banana图片编辑API,基于gemini-2.5-flash-image-preview模型,从环境准备、Base64编码到API调用的全流程。通过实战示例和优化技巧,帮助开发者高效集成AI图片处理能力,提升产品竞争力。

dog123的博客 260

【激光雷达】认识点云库PCL

前言 激光雷达生成的点云数据通过可视化显示,是下图中的效果: 能看到激光雷达发射多线激光束(蓝色圆圈形纹),通过接收器进行处理加工,最好可视化展示出来。从图能看到车、行人、路灯杆、周围的建筑物等。 我们能看到它感知到行人(红色的),一圈一圈类似于水纹的是激光雷达发出的光波。 那么通过什么来处理这些点云数据呢? 答案是:PCL点云库 简介 PCL全称 Poi...

黎国溥 6726

国内合规开通ChatGPT Plus实操指南:银行卡绑卡与支付全解析

ChatGPT Plus 是 OpenAI 官方推出的高级订阅服务,基于 GPT-4o 多模态大模型提供语音交互、图像理解与长上下文处理能力。其核心使用前提在于完成合规的国际支付绑定,而非网络接入方式。技术原理上,OpenAI 采用 Stripe 支付网关进行风控校验,重点匹配银行跨境权限、卡片类型(仅支持 Visa/Mastercard/Amex 信用卡)、BIN 号段及地理位置一致性。该机制决定了95%的绑卡失败源于银行端配置缺失或卡片不兼容,而非网络问题。实际应用中,PayPal 作为中间支付层可显著

chuannaoxuan4674的博客 1985

从MySQL到数据仓库:手把手教你用Airflow实现自动化ETL流水线

本文详细介绍了如何利用Airflow构建从MySQL到数据仓库的自动化ETL流水线,涵盖增量抽取策略、PySpark转换优化和数据质量监控等实战细节。特别适合中小规模企业构建高效数据仓库,提升数据处理效率和质量。

rnn9storyteller的博客 828

点云库PCL(Point Cloud Library)的学习资源汇总

文章目录1.学习资源2 安装配置3 书籍教程3.1 点云库PCL学习教程3.2 点云库PCL从入门到精通4 视频资源 1.学习资源 PCL官网:https://pointclouds.org/ PCL中国:http://www.pclcn.org/ PCL中国翻译版官方教程:http://www.pclcn.org/study/news.php?lang=cn&class3=105 2 安装配置 PCL版本下载:https://github.com/PointCloudLibrary/pcl/rel

重点记录机器人和自动驾驶相关领域的技术,尤其是计算机视觉,视觉SLAM等,不仅有前言文献或必备算法的学习,也会有实际应用的点滴经验 4862

Spring AI实现RAG(检索增强生成)详解与实践

支持多种文件格式的文档加载实现高效的向量存储和检索构建智能的问答系统提供可追溯的知识服务RAG技术为AI应用提供了强大的知识增强能力,使得模型能够基于实际文档生成准确、可靠的回答。

beiduofen2011的专栏 1239

关于如何查找和利用PCL库学习资源的一些心得

前言学习PCL库的两个月左右时间里,从刚开始的无从下手到慢慢地摸清一些门道,走了很多弯路,也遇到过很多困惑,逐渐有了一些如何查找与利用PCL库学习资源的心得。所以把这些心得记录下来,一是为了给自己以后学习PCL库和其他库时提供借鉴,而是希望为一些新上手的PCL库学习者提供一些思路。学习工具PCL库官网《点云库PCL学习教程2》优快云等博客论坛的教程博文一些外国学术团队的总结帖一.PCL库官网PC...

shine_cherise的博客 3万+

【深度学习|地学应用】MODIS AOD产品和HYSPLIT模型的局限性和不确定性?

【深度学习|地学应用】MODIS AOD产品和HYSPLIT模型的局限性和不确定性?

985小水博的摸鱼日常 463

聊聊5G RedCap与eRedCap

而eRedCap作为R18引入的升级版本,进一步将峰值速率限制为10Mbps,仅支持FR1频段,通过减少物理资源块(PRB)数量和优化休眠机制,实现了更低的功耗和成本,成为NB-IoT/LTE-M的理想升级路径。RedCap与eRedCap的出现,正是为了填补“中间地带”—它们既具备高于mMTC的传输速率(接近LTE Cat 4水平),又能实现传统5G NR无法企及的低功耗与低成本,完美适配智能电表、工业网关、智能穿戴设备等“中等需求”物联网设备。时延则低至50ms以下,满足工业机械远程控制的实时性需求。

asd199086的博客 1745

【吐槽】——《点云库PCL从入门到精通》一书

槽点一:生搬硬套,照抄官方教程 这本书的大部分示例代码都是照抄官方教程:https://pcl.readthedocs.io/projects/tutorials/en/latest/ 随便摘抄一段原文:链接【https://pcl.readthedocs.io/projects/tutorials/en/latest/kdtree_search.html#kdtree-search】 A k-d tree, or k-dimensional tree, is a data structure

DayDayUp 6536

【人工智能】全面盘点国内AI九大模型:各擅胜场的智能先锋(豆包、文心一言、讯飞星火、通义千问、Kimi、智谱清言、腾讯元宝、秘塔、天工AI)

追求性价比与全能:选豆包,适合个人与中小企业日常使用;侧重中文创作与理解:选文心一言,文学与商业文案创作首选;需要专业语音交互:选讯飞星火,智能客服、车载场景必备;看重生态与多场景:选通义千问,适配电商、办公等企业需求;处理超长文本任务:选Kimi,文档分析、学术研究的利器;专注深度推理创作:选智谱清言,学术与创意写作的伙伴;依赖腾讯生态协同:选腾讯元宝,日常轻量需求的便捷之选;深耕法律学术领域:选秘塔,专业文本处理的权威工具;布局前沿技术体验:选天工AI,享受接近国际顶尖的智能服务。

奶爸的编程之路,也就一周冷个三天 1123

点云学习笔记3——点云库(PCL)安装与测试教程

1、https://pointclouds.org/downloads/ 2、点云库(PCL)安装与测试教程

耶律大石的博客 6435

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

点云库PCL的使用

相关头文件: #include <pcl/io/io.h> #include <pcl/io/pcd_io.h> #include <pcl/point_types.h> #include <pcl/visualization/cloud_viewer.h> 声明和定义点云对象: pcl::PointCloud<pcl::PointX...

A_L_A_N 1万+

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

PCL点云库学习(1)

width(int):指定点云数据集的宽度对于无组织格式的数据集,width代表了所有点的总数对于有组织格式的数据集,width代表了一行中的总点数:制定点云数据集的高度对于无组织格式的数据集,值为1对于有组织格式的数据集,表示总行数:包含所有PointT类型的点的数据列表。

m0_69021252的博客 2017

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

上一篇: PCL环境测试程序
下一篇: 人脸识别实践
小小usper
博客等级 码龄9年 76粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值