OpenNI 用户手册:体感交互开发框架
需积分: 9 134 浏览量
更新于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轻松地接入各种传感器设备,构建出富有创新性和用户体验的体感应用。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2011-08-10 上传
169 浏览量
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
zysun333
- 粉丝: 0
- 资源: 19
最新资源
- 深入浅出:自定义 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色块闪烁现象解析