首页 > 代码库 > 第四章输入/输出(I/O)4.1I/O涉及的设备及相关概念简介

第四章输入/输出(I/O)4.1I/O涉及的设备及相关概念简介

PCL中所有的处理都是基于点云展开的,利用不同的设备获取点云、存储点云等都是点云处理前后必须做的流程,PCL中有自己设计的内部PCD文件格式,为此,设计读写该该格式以及与其他3D文件格式之间进行转化的接口类都是很有必要的;目前PCL内部支持对常用的3D格式文件的打开与存储操作,以及与PCD内部格式之间的相互转化。

1、OpenNI开源框架

OpenNI(开放式自然交互)专注于提高和改善自然交互设备与应用软件的互操作能力。

OpenNI是一个多语言、跨平台的框架,它定义了一套用于编写通用自然交互应用得API。OpenNI的主要目的就是形成标准的API,便于下面两个接口之间进行通信:

1)视觉和音频传感器(来自感知周围环境信息)。

2)视觉和音频感知中间件(用来对应用场景中所记录的音频和视觉数据进行分析和理解,例如能够接受一份可见的图像数据并返回从中检测到的手掌位置信息)。

OpenNI提供了一组基于传感器设备实现的API另外一组由中间件组件实现的API打破了传感器和中间件之间的依赖关系。这样,使用OpenNI API开发应用程序时就不需要在各种中间件模块的上层操作上浪费时间,可以做到一次编写、随处部署。

OpenNI的这种分层设计机制允许中间件开发者可以直接基于最原始的数据格式编写算法,而不管这些数据是由何种传感器设备产生,同时也让传感器生产商制造的设备能用于任何OpenNI兼容的应用程序。

OpenNI的这套标准化API使得自然交互应用开发人员可以利用由传感器输入并计算过的数据类型,很方便地跟踪处理显示生活中的场景,这样可以保证编写应用程序的时候,不用考虑传感器或中间件供应商相关的细节。

下图展示了OpenNI框架的应用概念,分为三层:

1)应用层:基于OpenNI实现的自然交互应用软件。

2)中间件接口层:代表OpenNI本身,提供了传感器和中间件组件之间的接口。

3)硬件设备层:列出了捕捉视觉和音频数据的多种硬件设备。

技术分享

2、OpenNI兼容设备

OpenNI目前已成为PCL集成进来的第一个设备相关的第三方库,用来抓取OpenNI兼容设备中的点云数据。只要底层的硬件传感器设备与OpenNI兼容,都可以作为点云数据输入源,目前较流行的兼容设备,如下

技术分享

上述三种设备进行点云数据采集,都可以经OpenNI处理后转化为标准数据供上层应用使用。

 

第四章输入/输出(I/O)4.1I/O涉及的设备及相关概念简介