OpenNI 用户手册:体感交互开发框架

需积分: 9 12 下载量 60 浏览量 更新于2024-07-22 收藏 1.6MB PDF 举报
是OpenNI? OpenNI是一个多语言、跨平台的框架,专为开发自然交互(Natural Interaction,NI)程序设计。它定义了一组API,允许开发者创建使用体感技术的应用程序。OpenNI的主要目标是建立一个标准的通信接口,使得视觉和音频传感器(能够捕捉到轮廓和周围环境)以及处理这些数据的中间件可以进行有效的交互。这个框架不仅包含了与硬件设备的接口,还提供了软件组件来解析和理解传感器记录的数据,从而实现自然、直观的用户交互。 3概念 3.1模块(Modules) OpenNI中的模块是框架的基本组成部分,它们负责实现特定的功能。模块可以是硬件驱动程序,也可以是处理数据的软件组件。 3.2生产节点(Production Nodes) 生产节点是OpenNI框架中的核心元素,它们是实际生成或处理数据的实体。这些节点可以是传感器设备,如摄像头或红外传感器,也可以是处理这些数据的算法,如骨架跟踪或图像处理。 3.3生产链(Production Chains) 生产链是由多个生产节点组成的工作流程,它们按照特定的顺序连接,形成数据流的处理管道。每个节点都可以生成数据并传递给下一个节点,或者从上游节点接收数据进行处理。 3.4能力(Capabilities) 每个生产节点都具有特定的能力,如支持的传感器类型、可提供的数据流或处理功能。开发者可以通过查询节点的能力来决定如何使用它们。 3.5生成和读取数据 OpenNI提供了一套API,使得开发者能够方便地从生产节点获取数据,如图像帧或骨骼跟踪信息,并进行实时处理。 3.6模拟节点(Mock Nodes) 模拟节点用于测试和开发目的,它们可以模拟真实传感器的行为,帮助开发者在没有实际硬件的情况下进行程序验证。 3.7在应用和锁节点间共享设备 OpenNI支持在同一应用程序或不同应用程序之间共享设备,这可以通过锁节点机制来实现,确保多个进程可以安全地访问同一硬件。 3.8授权(Licensing) OpenNI遵循GNU通用公共许可证(GPL),源代码可以自由分发和修改。但需要注意的是,根据GPL条款,任何基于OpenNI的衍生作品也必须开放源码。 3.9通用框架实用程序 OpenNI提供了一些通用工具,如记录器,可以用来捕获和回放生产链的数据,便于调试和分析。 3.10记录器 记录器功能允许开发者记录生产链的输出,以便于后期分析或离线处理。这对于优化算法或重现问题非常有用。 3.11生产节点的错误状态 OpenNI框架中的生产节点有明确的错误状态,可以帮助开发者识别和解决问题。 4向后兼容 OpenNI设计时考虑了向后兼容性,这意味着新的版本通常能够兼容旧的API,减少升级时的迁移工作。 5准备开始 5.1支持平台 OpenNI支持多种操作系统,包括Windows、Linux和Mac OS X,为开发者提供了广泛的开发环境选择。 5.2主要对象 主要对象是OpenNI API中的关键类,包括用于初始化和管理OpenNI环境的对象,以及用于创建和操作生产节点的接口。 OpenNI为开发者提供了一个统一的平台,简化了体感应用的开发,通过标准化的接口和丰富的功能,促进了自然交互技术在各种应用场景中的广泛应用,比如游戏、教育、医疗等。开发者可以利用OpenNI轻松地接入各种传感器设备,构建出富有创新性和用户体验的体感应用。