OpenNI体感应用开发实战 PDF 超清完整版

  • 更新时间:
  • 3810人关注
  • 点击下载

给大家带来的一篇关于OpenNI相关的电子书资源,介绍了关于OpenNI、OpenNI体感应用、OpenNI开发实战方面的内容,本书是由械工业出版社出版,格式为PDF,资源大小34.39MB,任侃编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:9.4分

OpenNI体感应用开发实战

作者:任侃 著

出版时间:2014年版

本书是国内首本关于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工具包等。

目录

  • 前言
  • 第一部分基础篇
  • 第1章自然人机交互 2
  • 1.1什么是自然交互 2
  • 1.2科幻电影场景的人机交互 3
  • 1.3自然人机交互技术发展现状 4
  • 1.4本章小结 8
  • 第2章Xtion硬件设备 9
  • 2.1Xtion设备简介 9
  • 2.1.1Xtion设备的类型 9
  • 2.1.2Xtion设备的功能 10
  • 2.1.3Xtion设备的规格 10
  • 2.2Xtion设备的优势 11
  • 2.2.1Xtion和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.1OpenNI架构 20
  • 3.1.2OpenNI支持的模块 22
  • 3.1.3OpenNI的功能 23
  • 3.1.4OpenNI中的对象 24
  • 3.1.5OpenNI版本更新说明 25
  • 3.2OpenNI生产节点 27
  • 3.2.1生产节点的类型 28
  • 3.2.2生产节点概念图 28
  • 3.2.3生成和读取数据 30
  • 3.2.4OpenNI接口的配置 31
  • 3.3OpenNI应用 31
  • 3.3.1Xtion Controller应用 31
  • 3.3.2INOUT应用 31
  • 3.3.3Artec 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.1Windows环境下的准备工作 38
  • 4.2.2OpenNI档案及相关环境 39
  • 4.2.3加载设备驱动 40
  • 4.2.4检测Xtion设备 40
  • 4.2.5NiViewer基本控制方法 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.1OpenNI基础应用 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.7OpenNI程序流程 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.1OpenNI可侦测的关节点 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.1OpenNI支持的手势 99
  • 8.1.2遍历NITE支持的手势 99
  • 8.1.3添加手势与回调函数 99
  • 8.1.4手势识别范例 102
  • 8.2NITE控制 104
  • 8.2.1NITE Control函数详解 104
  • 8.2.2NITE 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.1XML文档设定参数 124
  • 11.1.1XML文档基本架构 124
  • 11.1.2XML文档中的节点 126
  • 11.1.3XML文档使用范例 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.1OpenNI框架支持的图像格式 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.3OpenNI程序环境初始化 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.4Ken人物动作的表述 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.23D坐标轴旋转 234
  • 18.4欧拉角 237
  • 18.4.1从欧拉角转换到矩阵 238
  • 18.4.2从矩阵转换到欧拉角 238
  • 18.4.3从骨架数据中提取欧拉角 239
  • 18.5本章小结 241
展开阅读

资源下载

相关资源

  • iOS 6开发进阶与实战

    iOS 6开发进阶与实战

    《iOS 6开发进阶与实战》 从Core Data、iCloud、Game Kit、Map Kit、消息、媒体以及安全性等诸多方面,对iOS平台开发中的进阶内容进行了详细的讲解。《iOS 6开发进阶与实战》共16章,其中第2章至第

    大小:109 MBiOS

    立即下载
  • 移动Web前端高效开发实战

    移动Web前端高效开发实战

    大小:16.1 MB移动开发

    立即下载
  • Spring Boot+Vue全栈开发实战

    Spring Boot+Vue全栈开发实战

    传统的JavaEE开发效率低下、配置臃肿、调试不便,严重制约了程序员的生产力。Spring Boot致力于简化开发配置,并为企业级开发提供一系列非业务性功能;而Vue则采用数据驱动视图的方式将程序

    大小:196.3 MBSpring

    立即下载
  • Android开发入门与实战

    Android开发入门与实战

    学习本书可让不懂Android开发的人系统地快速掌握Android 开发的知识,包含Android开发环境搭建、Android SDK介 绍、Android应用程序结构剖析等内容,精选了6个真实的案例,欢迎下载

    大小:89 MB移动开发

    立即下载
  • 高级Android开发强化实战

    高级Android开发强化实战

    大小:215.5 MBAndroid

    立即下载
  • Swift开发iOS:App快速入门与实战

    Swift开发iOS:App快速入门与实战

    Swift集合了C与Objective-C程序语言的优点,但比这两种编译语言在编译与运行上更加快捷。书中根据Swift语言特性与与应用定位归纳出简单的学习架构,期望让初学者一次开发就上手

    大小:171 MBSwift

    立即下载
  • Spring Boot+Spring Cloud+Vue+Element项目实战:手把手教你开发权限管理系统

    Spring Boot+Spring Cloud+Vue+Element项目实战:手把手教你开发权限管理系统

    本书从项目实践出发,手把手、心贴心地带领读者从零开始,一步一步地开发出功能相对完整的权限管理系统,从而深入掌握当前主流的Spring Boot + Spring Cloud + Vue前后端集成开发技术。 全书分为三篇共32章。第一篇为系统介绍篇,对系统的功能、架构和界面进行介绍,对系统的安装运行给出指南,对涉及的关键技术进行简单介绍。第二篇为后端实现篇,从数据库设计和搭建开发环境开始,全面细致地讲解权限管理系统的后端实现全过程。第三篇为前端实现

    大小:132979 MB 项目实战

    立即下载

学习笔记