OpenNI2程序员入门指南

需积分: 0 3 下载量 92 浏览量 更新于2024-09-14 收藏 61KB DOC 举报
"OPENNI程序员指南是一份面向新开发者的学习资料,旨在教授如何使用OPENNI2进行深度传感器的访问和交互。这份指南采用教程式的概述,详细介绍如何利用OPENNI2获取和处理深度、三原色及红外视频流。此外,OPENNI2还为第三方中间件开发者提供了与深度传感器互动的统一接口。" **OPENNI简介** OPENNI2是一个库,其主要目的是为开发者提供一个统一的接口来访问符合OPENNI标准的深度传感器。它允许程序初始化传感器,接收不同类型的视频流,并处理来自这些传感器的数据。OPENNI2的设计使得无论是原始的深度和视频数据,还是第三方中间件提供的高级功能,都能被应用程序所利用。 **主要类别** 1. **openni::OpenNI**: 这是OPENNI2的核心类,提供了系统的静态入口点。通过这个类,开发者可以访问系统中的所有设备,订阅设备连接和断开事件,以及管理所有数据流的访问。 2. **openni::Device**: 该类代表连接到系统的单个传感器设备。在初始化openni::OpenNI之后,才能创建device对象,设备对象提供了对视频流的访问。 3. **openni::Stream**: 这类概括了单一的视频流,通常从特定的设备中获取。它提供了frame references,用于获取实际的视频帧数据。 4. **openni::FrameRef**: 代表单一的视频帧及其关联的元数据,如时间戳、帧类型等。 **辅助类和结构** OPENNI2还包括用于记录视频流的Recorder类,以及用于事件处理的监听器类。视频流的获取有两种主要方式:轮询(polling)和事件驱动(event-driven)。这两种方法会在指南的后续部分详细讲解。 **初始化与设备连接** 使用`openni::OpenNI::initialize()`函数初始化OPENNI2库,这是任何使用OPENNI2的应用程序的首要步骤。这个函数会加载所有可用的传感器驱动并扫描系统中的设备。初始化完成后,开发者可以创建device对象并开始使用。 总结,"OPENNI程序员指南"是新开发者入门深度传感器编程的宝贵资源,涵盖了从基础的库初始化、设备连接到高级的视频流处理和事件监听的所有内容。通过深入理解和应用这些概念,开发者能够构建出与各种深度传感器交互的应用程序。