OPENNI程序员指南

preview
需积分: 0 3 下载量 56 浏览量 更新于2013-03-22 收藏 61KB DOC 举报
【OPENNI程序员指南】是专为开发者设计的文档,旨在帮助新手学习如何使用OPENNI 2库来访问和处理OpenNI兼容的深度传感器数据。OPENNI是一个开源的接口,允许程序与深度传感器交互,获取深度、RGB、红外视频流,并且提供统一的接口供第三方中间件开发人员使用。其主要目标是简化深度传感器的使用,让应用能够轻松地处理来自不同设备的数据。 在指南中,主要介绍了四个核心类: 1. `openni::OpenNi`:这是整个库的静态入口点,提供对系统中所有设备的访问。它用于初始化和关闭设备,以及处理设备事件和错误信息。 2. `openni::Device`:此类代表与系统连接的传感器设备。在初始化后,可以创建Device对象以访问设备提供的流。 3. `openni::Stream`:概括单个视频流,可以从特定设备获取。通过Stream类,可以获取帧引用(FrameRef)。 4. `openni::FrameRef`:封装了单个视频帧及其关联的元数据。它是从Stream类中获取数据的关键。 除了这些主要类,还有记录器类用于保存OpenNI视频流文件,以及监听器类来处理由OpenNI和流类产生的事件。视频流的访问有两种方式:轮询和事件驱动。`openni::waitForAnyStream()`用于轮询模式,而事件驱动模式则通过添加和移除事件监听器来实现,如`openni::addListener()`和`openni::removeListener()`。 错误处理方面,`openni::getExtendedError()`函数用于将返回的状态码转换为易于理解的错误描述,方便开发者调试和提供用户友好的错误反馈。 版本信息可以通过`openni::getVersion()`来获取,包括接口、库和特定设备的版本细节。 OPENNI程序员指南提供了一个逐步教程,指导开发者如何初始化设备,获取视频流,处理事件,并有效地利用这个库进行深度传感器的应用开发。无论是对于初学者还是经验丰富的开发者,这都是一个宝贵的资源,有助于深入理解和操作OpenNI 2接口。