OpenNI用户手册:体感交互与概念解析

需积分: 9 1 下载量 99 浏览量 更新于2024-07-30 收藏 1.6MB PDF 举报
是OpenNI? OpenNI是一个开源框架,主要用于自然人机交互(Natural Interaction,NI),特别是针对体感技术的应用。它提供了一个统一的接口,使得开发者能够轻松地创建能够识别和响应人类动作、手势以及声音的软件。OpenNI的目标是促进跨平台的硬件和软件之间的互操作性,让开发者能够专注于创新应用的开发,而不是底层传感器和处理技术的细节。 2.3 抽象分层视图 OpenNI的设计采用了一种抽象分层的方法,将复杂的传感器数据处理流程简化为多个模块和节点。这些模块和节点构成了一个层次结构,从底层的传感器数据捕获到高层的应用逻辑,每一层都负责特定的任务。这种架构允许开发者根据需要选择和组合不同的组件,以实现所需的功能。 3 概念 3.1 模块(Modules) 模块是OpenNI中的基本构建块,代表了特定的功能集。它们可以提供数据源(如传感器)或者数据处理服务(如图像处理)。 3.2 生产节点(Production Nodes) 生产节点是实际执行数据生成或处理的实体。它们可以是传感器节点,如RGB-D摄像头,或者是处理节点,如骨骼跟踪器。 3.3 生产链(Production Chains) 生产链是由多个生产节点组成的序列,它们协同工作以产生或处理数据。一个简单的生产链可能包含一个传感器节点和一个处理节点,复杂链可能涉及多个中间处理步骤。 3.4 能力(Capabilities) 每个生产节点都有特定的能力,这些能力定义了它们可以执行的操作。例如,一个传感器节点可能有提供彩色图像和深度图像的能力。 3.5 生成和读取数据 OpenNI框架允许生产节点生成数据流,并由消费者节点读取。数据流可以是实时的,也可以通过记录器功能进行存储和回放。 3.6 模拟节点(Mock Nodes) 模拟节点用于测试和调试,它们可以模拟真实设备的行为,帮助开发者在没有实际硬件的情况下进行开发和测试。 3.7 应用和锁节点间共享设备 OpenNI支持多个应用程序同时访问同一设备,通过设备锁定机制确保资源的正确管理和并发访问。 3.8 授权(Licensing) OpenNI遵循GNU通用公共许可证(GPL),允许自由分发和修改源代码,但也规定了对源代码的使用和分发的限制。 3.9 通用框架实用程序 OpenNI提供了一系列通用工具和库,帮助开发者更方便地实现各种功能,如记录和回放数据、设备管理等。 3.10 记录器(Recorder) 记录器功能允许开发者捕捉生产链中的数据流,并将其保存为文件,以便后续回放和分析。 3.11 生产节点的错误状态 生产节点可以报告错误状态,帮助开发者诊断和解决问题。 4 向后兼容 OpenNI设计时考虑了向后兼容性,使得新版本能够与旧版本的代码和设备兼容,减少升级时的不兼容问题。 5 准备开始 5.1 支持平台 OpenNI支持多种操作系统,包括Windows、Linux和Mac OS,为开发者提供了跨平台的开发环境。 5.2 Main Objects(主要对象) 主要对象是OpenNI API中的核心类,包括用于初始化、设备连接、数据读取等的基本接口。 总结来说,OpenNI是一个为自然人机交互提供支持的开放源码框架,它通过标准化接口简化了体感技术的开发,允许开发者专注于创造创新的交互体验,而不必关心底层硬件和数据处理的复杂性。该框架提供了一套完整的工具和概念,帮助开发者构建能够理解和响应人类动作的应用。