OpenNI 用户手册 1
用户手册
用户手册用户手册
用户手册
翻译:风萧萧 freddychu@gmail.com
www.niopen.com
OpenNI 用户手册 2
目录
目录目录
目录
1 许可声明 ................................................................................................................................... 3
2 概述........................................................................................................................................... 3
2.1 Natural Interaction 体感 ............................................................................................... 3
2.2 什么是 OpenNI? ......................................................................................................... 3
2.3 抽象分层视图 ............................................................................................................... 4
3 概念........................................................................................................................................... 4
3.1 模块 Modules ............................................................................................................... 4
3.2 Production Nodes 生产节点 ......................................................................................... 5
3.3 Production Chains 生产链 ........................................................................................... 8
3.4 Capabilities 能力 .......................................................................................................... 9
3.5 生成和读取数据 ........................................................................................................... 9
3.6 Mock Nodes 模拟节点 .............................................................................................. 10
3.7 在应用和锁节点间共享设备 ..................................................................................... 10
3.8 Licensing 授权 ............................................................................................................ 11
3.9 通用框架实用程序 ..................................................................................................... 11
3.10 记录器 ..................................................................................................................... 11
3.11 生产节点的错误状态 ............................................................................................. 12
4 向后兼容 ................................................................................................................................. 12
5 准备开始 ................................................................................................................................. 12
5.1 支持平台 ..................................................................................................................... 12
5.2 Main Objects 主要对象 ............................................................................................. 12
OpenNI 用户手册 3
1 许可声明
许可声明许可声明
许可声明
OpenNI遵循GNU通用公共许可证编写和分发,这意味着它的源代码是可自由
分发的,也可提供给一般公众。
您可以遵循
自由软件基金会(Free Software Foundation)发表的
GNU宽通用公共许可
证,版本3或者以后的任何版本,来重新分发和/或修改OpenNI。
OpenNI可自由分发,基于希望对你有用,但没有任何保证,甚至没有适销性或针
对特定目的的隐含保证。更多细节请参阅GNU通用公共许可证:
<http://www.gnu.org/licenses/>.
2 概述
概述概述
概述
2.1 Natural Interaction 体感
体感体感
体感
Natural Interaction (NI)
这个词是一个基于人体感官的人机概念,主要关注听觉
和视觉。人机交互设备的例子诸如外围设备包括遥控器、键盘或鼠标等外围设备。
日常使用的例子包括:
语音和命令识别,通过设备接收声音命令的指示。
手势,识别预先定义的手势,激活和控制设备。例如,手势控制使用户能够
管理客厅里用手玩的消费电子产品。
身体运动跟踪,为了游戏而对全身运动进行跟踪、分析和解析。
2.2 什么是
什么是什么是
什么是 OpenNI?
??
?
OpenNI (Open Natural Interaction)是个多语言、跨平台的框架,定义了一组为开发使
用Natural Interaction程序的API。OpenNI APIs有一组开发体感应用的接口。OpenNI的主
要目的是建立一个双方通信的标准:
视觉和音频传感器(这些设备可以看到和听到轮廓及其周围环境)
视觉和音频感知中间件(这些软件组件能够分析并且理解传感器记录的音频和视频
数据)
OpenNI提供一套由传感器设备实现的接口和一套由中间件实现的接口。通过分
离传感器和中间件的依赖关系,OpenNI’s API能够让应用程序轻松地在不同的中间件
模块上编写和移植(一次编写,到处部署)。OpenNI’s API 也能让中间件开发人员
编写基于原始的数据格式,不必考虑是哪种传感器设备产生的,让传感器生产厂商
有能力生产支持任何兼容OpenNI框架的应用程序。
OpenNI标准API能够使体感应用开发者通过使用数据类型来跟踪现实(三维)的场
景,这些类型都是通过传感器的输入数据来计算的,比如:完全肢体展现,一组深度像
OpenNI 用户手册 4
素数据等)。应用程序的编写不必考虑传感器和中间件的提供者。
OpenNI是一个开源的API,发布在:www.OpenNI.org
2.3 抽象
抽象抽象
抽象分层
分层分层
分层视图
视图视图
视图
图1展示了一个OpenNI概念的三层视图,每层都是一个不可缺少的部分:
顶层:展示了基于 OpenNI 实现体感的应用程序。
中间层:展示了 OpenNI,提供传感器和中间件组件之间交互的接口,中间件分析
传感器数据。
底层:展示了捕捉视觉和声音场景元素的硬件设备。
图 1
3 概念
概念概念
概念
3.1 模块
模块模块
模块 Modules
OpenNI框架是个提供了物理设备和中间件组件的一个抽象层。API能够让众多组件
在OpenNI框架中注册。这些组件被称为模块,被用来生成和处理感官数据。选择或者指
定硬件设备组件或中间件组件非常容易和灵活。
目前支持的模块包括:
传感器模块
3D sensor 三维传感器
RGB camera RGB 摄像头
OpenNI 用户手册 5
IR camera 红外摄像头
Audio device 音频设备(一个或多个麦克风)
中间件组件
全肢体分析中间件
全肢体分析中间件全肢体分析中间件
全肢体分析中间件:是一个处理感官数据,生成肢体相关信息(常见的数据结构如
关节、方向、重心等)
手心
手心手心
手心分析中间件
分析中间件分析中间件
分析中间件:是一个处理感官数据和生成手心的位置信息的软件组件。
手势探测中间件
手势探测中间件手势探测中间件
手势探测中间件:是一个分辨预定义的手势(如挥手)和提醒应用程序的软件组件。
场景分析中间件
场景分析中间件场景分析中间件
场景分析中间件:是一个分析场景图像的软件中间件,产生如下信息:
场景的前景(轮廓)和背景的分离。
平面图的坐标
场景中独特轮廓的识别
举例
下图显示了在
OpenNI
注册的
5
个模块协同工作的场景。两个模块是连接到主机的三维传
感器。另外三个是中间件组件,包括两个组件处理全肢体的数据,一个组件处理手心轨
迹。
Figure 2
希望和OpenNI兼容的模块,不论是软件或设备,必须实现特定的接口。
3.2 Production Nodes 生产节点
生产节点生产节点
生产节点
OpenNI定义了生产节点
生产节点生产节点
生产节点,它具有拥有能在生成体感要求的数据过程中充当生产性角
色的一套单元。每个生产节点都能够使用其他更低级的生产节点(读数据,控制配置等),
评论0