OpenNI用户手册:体感交互与开发入门
需积分: 9 165 浏览量
更新于2024-07-22
收藏 1.6MB PDF 举报
是OpenNI?
OpenNI是一个开源框架,主要用于自然交互(Natural Interaction,NI)的开发,尤其在体感技术领域。它为开发人员提供了一个统一的接口,以便与多种传感器,如微软的xBox 360 Kinect和PrimeSense的传感器进行交互。OpenNI的目标是简化3D传感设备的使用,使得开发者可以更容易地创建能够识别和响应人类动作的应用程序。
2.3 抽象分层视图
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 General Public License(GPL)进行授权,这意味着源代码是开放的,可以自由分发和修改,但同时也需要遵守GPL的条款,即任何基于OpenNI开发的软件也必须开放源代码。
3.9 通用框架实用程序
OpenNI提供了一些通用工具和库,帮助开发者更有效地集成和管理他们的项目,例如记录和回放功能,以及错误处理机制。
3.10 记录器(Recorder)
记录器是OpenNI的一个功能,可以记录数据流,用于日志分析、回放测试或离线处理。
3.11 生产节点的错误状态
生产节点可以处于各种状态,包括正常工作、错误或暂停等。开发者可以通过API检查和处理节点的错误状态,以确保应用程序的稳定运行。
4 向后兼容
OpenNI努力保持向后兼容性,确保新版本的框架能够支持旧版本的代码,降低升级时的迁移成本。
5 准备开始
5.1 支持平台
OpenNI支持多种操作系统,如Windows、Linux和Mac OS X,使得跨平台的体感应用开发成为可能。
5.2 Main Objects主要对象
主要对象是OpenNI框架的核心组件,如上下文(Context)、生产树(Production Tree)等,它们提供了与OpenNI交互的基础。
这个用户手册详细介绍了OpenNI的各个方面,对于初学者来说是一份很好的入门资料,可以帮助他们快速理解和掌握OpenNI的使用,从而进行体感技术的开发。
2018-11-18 上传
2019-07-29 上传
2013-10-28 上传
2023-09-17 上传
2023-04-30 上传
2024-01-22 上传
2023-10-20 上传
2023-05-28 上传
2023-05-23 上传
lixiaoli666
- 粉丝: 1
- 资源: 14
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析