OpenNI体感应用开发实战

OpenNI体感应用开发实战

任侃, 等编著

出版社:机械工业出版社

年代:2014

定价:69.0

书籍简介:

本书的内容分为五部分。基础篇(第1~3章)介绍了自然人机交互的一些概念和基本的应用,同时结合体感传感器Xtion,介绍了体感传感器的工作原理。学习完本部分之后,读者可以理解基于体感的人机交互的内涵以及体感应用开发的硬件基础。准备篇(第4~6章)介绍了在进行体感应用开发之前,所需要进行的软件开发平台的搭建的步骤以及OpenNI软件最基本的一些功能。学习完本部分,读者将能开始上手使用OpenNI软件,学会使用它的一些基本功能。进阶篇(第7~13章)讨论体感应用开发中进一步的知识。包括基本的手势识别,色彩与声音的获取与录制等。学习完本部分,读者可以开始尝试组合不同的功能组件,开发更加成规模更加智能的体感应用。实战篇(第14~17章)介绍了一些有趣的同时也很具有代表性的体感应用开发实例。在学习完本部分之后,读者将能够学习到真实的体感开发的过程与实现方法,进一步提升自身的实际开发水平。高级篇(第18~19章)介绍了更加深入的一些体感开发应用中可能使用到的高级功能,包括运动捕捉和OpenNI Unity工具包。通过学习这些章节,读者能够掌握更加复杂和高级的体感应用开发技能。

作者介绍:

任侃,国内体感应用开发领域的先驱,毕业于英国萨利大学(University of Surrey),就职于南京理工大学电光学院。精通体感应用开发,对人机交互技术、体感技术、体感应用、体感设备等都有非常深入研究。在C++语言、视频和图像处理、用户体验研究等领域的实践经验也比较丰富。

书籍目录:

前 言

第一部分 基础篇

第1章 自然人机交互 2

1.1 什么是自然交互 2

1.2 科幻电影场景的人机交互 3

1.3 自然人机交互技术发展现状 4

1.4 本章小结 8

第2章 Xtion硬件设备 9

2.1 Xtion设备简介 9

2.1.1 Xtion设备的类型 9

2.1.2 Xtion设备的功能 10

2.1.3 Xtion设备的规格 10

2.2 Xtion设备的优势 11

2.2.1 Xtion和Kinect的区别 11

2.2.2 硬件设备的软件支持 12

2.3 深度感应器原理 14

2.3.1 感应器架构 14

2.3.2 深度感应器工作原理 15

2.3.3 深度精确度分析 16

2.3.4 无法侦测物体深度 17

2.4 本章小结 19

第3章 OpenNI开发方案 20

3.1 初识OpenNI 20

3.1.1 OpenNI架构 20

3.1.2 OpenNI支持的模块 22

3.1.3 OpenNI的功能 23

3.1.4 OpenNI中的对象 24

3.1.5 OpenNI版本更新说明 25

3.2 OpenNI生产节点 27

3.2.1 生产节点的类型 28

3.2.2 生产节点概念图 28

3.2.3 生成和读取数据 30

3.2.4 OpenNI接口的配置 31

3.3 OpenNI应用 31

3.3.1 Xtion Controller应用 31

3.3.2 INOUT应用 31

3.3.3 Artec Studio应用 31

3.3.4 体感技术在初音未来上的应用 33

3.4 本章小结 33

第二部分 准备篇

第4章 Xtion开发准备工作 36

4.1 下载OpenNI及相应程式 36

4.1.1 下载SDK 36

4.1.2 下载Middleware 37

4.1.3 下载OpenNI以及相应的NITE 38

4.2 安装OpenNI 38

4.2.1 Windows环境下的准备工作 38

4.2.2 OpenNI档案及相关环境 39

4.2.3 加载设备驱动 40

4.2.4 检测Xtion设备 40

4.2.5 NiViewer基本控制方法 41

4.3 使用Xtion的注意事项 41

4.4 本章小结 42

第5章 搭建基础的Xtion体感开发环境 43

5.1 创建控制台工程 43

5.2 配置工程OpenNI环境 45

5.3 本章小结 49

第6章 初识Xtion体感开发 50

6.1 OpenNI基础应用 50

6.1.1 上下文对象初始化 50

6.1.2 创建生产节点 51

6.1.3 使用XML文档中的生产节点 52

6.1.4 错误信息返回 53

6.1.5 开始产生数据 54

6.1.6 停止产生数据 54

6.1.7 上下文对象资源释放 55

6.1.8 更新数据 55

6.1.9 镜像设置 56

6.1.10 图像位置校正 57

6.2 图生成器 58

6.2.1 获取支持图输出模式 58

6.2.2 图生成器输出模式 59

6.2.3 获取和设置图输出模式 59

6.2.4 获取图像素字节数 60

6.3 深度生成器 61

6.3.1 获取深度元数据对象 61

6.3.2 获取深度图 61

6.3.3 获取设备最大深度 62

6.3.4 获取设备视野范围 62

6.3.5 绝对坐标和相对坐标转换 63

6.3.6 获取用户位置功能 64

6.4 用户生成器 64

6.4.1 获取用户数量 65

6.4.2 获取用户 65

6.4.3 获取用户质心 66

6.4.4 获取用户像素 66

6.4.5 注册用户回调函数 67

6.4.6 获取骨架功能 68

6.4.7 获取姿势侦测功能 68

6.5 场景分析器 69

6.5.1 获取场景元数据对象 69

6.5.2 获取场景地板 69

6.5.3 获取场景标识段 70

6.6 图生成器的概念及功能 70

6.6.1 图元数据对象 71

6.6.2 输出模式设定 72

6.7 OpenNI程序流程 73

6.7.1 初始化Context 75

6.7.2 建立Production Node 75

6.7.3 开始产生资料 75

6.7.4 更新、读取资料 76

6.7.5 处理读取的资料 76

6.7.6 结束和错误侦测 76

6.8 本章小结 77

第三部分 进阶篇

第7章 人体骨架追踪 80

7.1 坐标系 80

7.1.1 绝对坐标 80

7.1.2 相对坐标 81

7.1.3 相对坐标和绝对坐标的转换 81

7.2 关节 82

7.2.1 OpenNI可侦测的关节点 82

7.2.2 读取关节资料函数 83

7.2.3 关节位置的平滑化 84

7.3 人体骨架追踪流程 85

7.3.1 需要特定姿势的骨架追踪 85

7.3.2 不需要特定姿势的骨架追踪 86

7.3.3 使用现有校正资料 87

7.4 人体骨架追踪程序搭建流程 87

7.4.1 创建并初始化设备上下文 88

7.4.2 创建并设定生产节点 88

7.4.3 注册回调函数 89

7.4.4 开始侦测数据 92

7.4.5 更新数据 92

7.4.6 得到用户信息 93

7.5 人体骨架识别范例 94

7.6 本章小结 97

第8章 手势识别与手部追踪 98

8.1 手势识别原理 99

8.1.1 OpenNI支持的手势 99

8.1.2 遍历NITE支持的手势 99

8.1.3 添加手势与回调函数 99

8.1.4 手势识别范例 102

8.2 NITE控制 104

8.2.1 NITE Control函数详解 104

8.2.2 NITE Control范例 106

8.3 手部追踪原理 110

8.3.1 手心生成器回调函数注册 110

8.3.2 手部追踪初始化 110

8.4 本章小结 111

第9章 录制与重播 112

9.1 录制 112

9.1.1 创建录制器 113

9.1.2 设置录制目标档案 113

9.1.3 获取录制目标档案 113

9.1.4 添加录制节点 114

9.1.5 删除录制节点 114

9.2 重播 115

9.2.1 设置重复播放 115

9.2.2 设置和获取播放源资料 115

9.2.3 设置重播起始时间 116

9.2.4 获取当前播放位置信息 117

9.2.5 检索播放器中的节点 118

9.2.6 判断是否播放结束 118

9.2.7 注册播放到结尾事件回调函数 118

9.2.8 设置回放速率 119

9.3 本章小结 119

第10章 限制生产节点的建立条件 120

10.1 有条件地建立生产节点 120

10.1.1 添加限制条件 121

10.1.2 设置限制条件 121

10.1.3 建立生产节点 121

10.2 通过限制条件列举符合条件的生产节点 122

10.3 根据节点信息建立生产节点 122

10.4 本章小结 123

第11章 使用XML文档初始化 124

11.1 XML文档设定参数 124

11.1.1 XML文档基本架构 124

11.1.2 XML文档中的节点 126

11.1.3 XML文档使用范例 127

11.2 使用XML文档配置功能 128

11.2.1 强制录制ONI文档的XML配置 128

11.2.2 资料产生 129

11.3 本章小结 129

第12章 声音数据的获取与使用 130

12.1 声音生成器 130

12.1.1 创建声音生成器 130

12.1.2 获取声音数据 131

12.1.3 设置声音设备的输出模式 132

12.1.4 注意事项 132

12.2 声音数据的处理 132

12.2.1 声音录制 133

12.2.2 声音播放 134

12.3 本章小结 136

第13章 彩色图像的获取和贴图 137

13.1 OpenNI框架支持的图像格式 137

13.2 图像生成器 138

13.2.1 创建图像生成器 138

13.2.2 获取图像数据 139

13.2.3 设置及获取图像生成器的输出格式 140

13.3 获取RGB影像及贴出RGB影像 141

13.4 本章小结 143

第四部分 实战篇

第14章 体感鼠标模拟 146

14.1 手部追踪与鼠标模拟 146

14.2 程序编写前的准备工作 146

14.2.1 环境准备 146

14.2.2 界面准备 149

14.2.3 鼠标相关参数配置准备 149

14.3 初始化 149

14.3.1 对话框初始化 150

14.3.2 载入ini文档中的配置 151

14.3.3 OpenNI程序环境初始化 151

14.4 程序设计 154

14.4.1 获取深度图 154

14.4.2 获取用户数据 155

14.4.3 鼠标左右手模式的选择及切换 156

14.4.4 滚轮控制放大和缩小 157

14.4.5 左手控制鼠标 158

14.4.6 右手控制鼠标 159

14.4.7 鼠标事件指令发送 161

14.4.8 悬停状态设计 163

14.5 本章小结 165

第15章 Xtion玩《街头霸王》 166

15.1 用身体控制游戏人物 166

15.1.1 人物基本操控动作 167

15.1.2 通用招式动作设计 167

15.1.3 游戏人物的特有招式设计 168

15.2 创建工程、配置工程环境 169

15.3 初始化 171

15.3.1 读取深度数据 172

15.3.2 处理深度数据 172

15.3.3 获取骨架 173

15.3.4 骨架数据的初步处理 174

15.4 Ken人物动作的表述 176

15.4.1 轻拳 176

15.4.2 跳起 178

15.4.3 波动拳 180

15.4.4 神龙拳 183

15.5 虚拟按键机制 186

15.6 本章小结 188

第16章 体感方向盘玩赛车类游戏 189

16.1 体感方向盘设计 189

16.1.1 操控方向盘基本动作 189

16.1.2 虚拟线性手柄模拟方向盘 189

16.2 体感方向盘程序开发初始化 191

16.2.1 环境初始化 191

16.2.2 虚拟手柄初始化 193

16.3 模拟方向盘操控 196

16.3.1 获取用户信息 196

16.3.2 左右方向的控制 197

16.3.3 油门与刹车 199

16.3.4 发送指令给虚拟线性手柄 200

16.4 本章小结 201

第17章 Xtion控制机器人 202

17.1 体感控制机器人需求分析 202

17.1.1 了解机器人构造 202

17.1.2 如何用身体操控机器人 203

17.1.3 机器人操控程序界面设计 203

17.2 初始化 204

17.2.1 界面初始化 204

17.2.2 体感追踪初始化 206

17.2.3 回调函数 207

17.3 控制机器人 207

17.3.1 连接机器人 207

17.3.2 发送指令 208

17.4 机器人程序代码实现 209

17.4.1 骨骼数据的初步获取 209

17.4.2 左肩的体感控制 211

17.4.3 大臂转动的控制 213

17.4.4 肘部角度计算 215

17.4.5 手部角度计算 215

17.4.6 小手臂转动 222

17.5 本章小结 222

第五部分 高级篇

第18章 BVH骨架转换 224

18.1 运动捕捉技术简介 224

18.1.1 典型的运动捕捉设备组成 225

18.1.2 传统捕捉技术 225

18.1.3 运动捕捉技术应用 228

18.1.4 运动捕捉技术优缺点 229

18.2 动作捕获数据 230

18.2.1 解析BVH文件 230

18.2.2 骨架结构 231

18.2.3 解读数据 232

18.3 旋转 233

18.3.1 基础2D旋转 233

18.3.2 3D坐标轴旋转 234

18.4 欧拉角 237

18.4.1 从欧拉角转换到矩阵 238

18.4.2 从矩阵转换到欧拉角 238

18.4.3 从骨架数据中提取欧拉角 239

18.5 本章小结 241

内容摘要:

本书是国内首本关于OpenNI的实战性著作,也是首本基于Xtion设备的体感应用开发类著作。具有权威性,由国内体感应用开发领域的专家撰写,华硕官方和CNKinect社区提供支持;具有针对性,深入调研OpenNI社区开发者的需求,据此对内容进行编排;全面且系统地讲解了Xtion和OpenNI的功能使用、技术细节和工作原理,以及体感应用开发的各种知识和技巧;实战性强,包含多个有趣的综合性案例,详细分析和讲解案例的实现过程,确保读者通过本书掌握体感应用开发的技术和方法是本书的宗旨。
全书共19章,分为五个部分:基础篇(第1~3章)介绍了自然人机交互技术、Xtion硬件设备的功能和原理、OpenNI的功能和应用;准备篇(第4~6章)讲解了如何搭建OpenNI+Xtion的体感应用开发环境,以及OpenNI的一些基本功能;进阶篇(第7~13章)详细讲解了人体骨骼追踪、手势识别、手部追踪、录制与重播、生产节点的建立、声音数据的获取和使用、彩色图像数据的获取和贴图等OpenNI的重要功能及其应用方法;实战篇(第14~17章)详细讲解了4个有趣且具有代表性的案例,通过这部分内容读者将能掌握体感应用开发的流程与方法;高级篇(第18~19章)讲解了体感应用开发中会用到的多种高级功能,如运动捕捉和OpenNI Unity工具包等。

编辑推荐:

国内首本关于OpenNI的专著,资深专家撰写,华硕官方和CNKinect社区联袂推荐
   全面而系统讲解OpenNI和Xtion的功能使用、技术细节和工作原理,以及体感应用开发的各种知识和技巧
   包含多个有趣的综合性案例,详细分析和讲解案例的实现过程,实战性非常强

书籍规格:

书籍详细信息
书名OpenNI体感应用开发实战站内查询相似图书
9787111470168
如需购买下载《OpenNI体感应用开发实战》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN
出版地北京出版单位机械工业出版社
版次1版印次1
定价(元)69.0语种简体中文
尺寸19 × 24装帧平装
页数 348 印数 4000

书籍信息归属:

OpenNI体感应用开发实战是机械工业出版社于2014.6出版的中图分类号为 TB18 的主题关于 人-机系统-系统设计 的书籍。