首页>参考读物>计算机科学与技术>软件与程序设计

计算机视觉增强现实应用程序开发
作者 : 深圳中科呼图信息技术有限公司 编著
出版日期 : 2017-08-25
ISBN : 978-7-111-57690-7
定价 : 49.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 247
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

图书特色

RAVV是位于美国硅谷的一家科技产业平台公司,专注于时代前沿的机器人、人工智能、无人驾驶、增强现实、计算机视觉应用等科技,致力于搭建一个以教育、科技、媒体、产品四个基础模块为架构的崭新平台。
RAVV教育的专家组成员囊括了加州大学伯克利分校、加州大学圣克鲁兹分校、香港理工大学、浙江大学等知名学府有关人工智能、计算机视觉应用等科技领域的学术精英。
本书为RAVV教育的教材之一,配套的RAVV课程可以让有志加入AR/VR行业的从业人员更好地增加知识、掌握技术,提高竞争力。

图书前言

增强现实(Augmented Reality,AR),是一种实时的基于摄像影像的位置和角度并加上自定义图像的技术,这种技术的目标是在现实的基础上增加一些定制内容以提供个性化的体验。随着计算设备运算速度的提高,AR技术应用的领域会越来越广,如今已经开始涉及医疗、教育、工业等。开发AR应用的人也成为市场上非常宝贵的人才资源。
Unity 3D是一款十分主流的游戏引擎,该引擎可以使开发者轻松地开发跨平台游戏和应用(支持如今的主流平台Windows、OS X、iOS、Android、Windows Phone等),设计精良的松耦合组件模型的引擎架构、庞大的开发者群体和健全的社区机制使得引擎发展得十分成熟。该引擎和AR开发也日渐成为AR应用开发的首选方案,极高的开发效率和系统的工作流使得开发AR应用相比其他开发形式有着巨大的优势。
得益于引擎功能的强大和开发者社区的健全,AR开发者可以将自己的全部精力集中在项目的内容开发上。当今AR内容依旧不够丰富,标杆性的产品也尚未崭露头角,但随着各个厂商对该部分的内容越来越重视,相信无论是从市场还是技术方面,AR都迎来了一个临界点式的突破,对所有的AR开发者来说,这无疑是最好的机会。
本书的目标读者主要分为以下两类。
初学者
初学者可以通过本书学习基本的编程思路和方法,书中没有长篇大论的理论知识,更多的是从实践出发,在实际应用中了解程序的运行机制、Unity 3D的结构以及使用程序的思维解决实际问题的方法和经验。完成每章的项目部分后,重点在于理解解决方案的思路。每章都会抛砖引玉地介绍一些计算机的其他领域,有兴趣的读者可以去保存更多感兴趣的领域,来丰富自己的理论知识。当实践能力变得熟练时,理论知识才是限制个人能力最大的障碍。希望初学者可以通过本书先培养对编程领域的兴趣,然后再进一步提高自己感兴趣的具体方向的能力。
有经验的程序开发者
有经验的开发者可以将本书作为一本熟悉SDK操作的参考书阅读。本书包含Unity和相关SDK的原理介绍,可以让有经验的开发者在最短的时间内了解开发相关内容的方法,提高工作效率和产出。
本书的内容主要包括Unity 3D编程基础、Unity核心组件介绍、常用插件和第三方SDK的使用简介及相关的演示项目,项目都有详细的代码和功能介绍,循序渐进地讲解需要使用的工具的基本原理和使用方法,可以让开发者在最短的时间内了解相关领域的开发技巧。希望通过这些项目可以为想要学习AR开发的读者提供学习的方向,帮助他们了解实际应用开发时需要考虑的问题以及一些实用的技巧。书中还会涉及一些网络的开发,有兴趣的读者可以以示例项目作为引导更深入和具体地学习网络开发的知识和技巧。

上架指导

计算机\程序设计

封底文字

套书小封面

作者简介

深圳中科呼图信息技术有限公司 编著:暂无相关简介

图书目录

前言
第1章Unity 3D AR应用开发基础 1
1.1 Unity 3D引擎简介 1
1.1.1Unity 3D的下载与安装 1
1.1.2Unity 3D操作界面简介 6
1.1.3Unity 3D的基础组件与操作 7
1.1.4Unity 3D的资源商店 14
1.2Unity 3D编程基础 14
1.2.1C#编程基础 14
1.2.2C#面向对象编程基础 24
1.2.3C#面向对象编程进阶 26
1.2.4Unity 3D中的C#脚本 30
1.3Unity 3D编程进阶 32
1.3.1Unity 3D的设计模式 32
1.3.2MonoBehavior的生命周期 33
1.3.3控制GameObject的位置 37
1.3.4控制GameObject的生成和销毁 40
1.3.5处理Unity 3D中的物体碰撞 43
1.3.6UI组件的使用 45
1.4AR中常用的Unity 3D插件 49
1.4.1视频播放插件:Easy Movie Texture 50
1.4.2动画控制插件:iTween 53
1.4.3手势控制插件:Easy Touch 57
第2章使用Vuforia开发AR应用 60
2.1Vuforia SDK简介 60
2.1.1Vuforia SDK的下载与安装 60
2.1.2创建App License Key 62
2.1.3在SDK中输入App License Key 63
2.2使用Vuforia SDK进行物体识别 64
2.2.1图片识别 64
2.2.2长方体识别 70
2.2.3圆柱体识别 73
2.2.4物体识别 76
2.3使用Vuforia SDK制作AR视频 80
2.3.1上传识别图 80
2.3.2创建识别视频播放GameObject 80
2.3.3创建识别图目标 83
2.3.4编译运行程序 85
2.4制作AR对战游戏 87
2.4.1制作识别图 87
2.4.2创建子弹 87
2.4.3 创建玩家角色 90
2.4.4创建敌人 102
2.4.5将玩家和角色设定为Image Target 104
第3章AR应用中的拓展功能实现 110
3.1在Unity 3D中实现网络通信 110
3.1.1计算机网络简介 110
3.1.2搭建一个HTTP服务器 111
3.1.3使用WWW从HTTP服务器获取图片 112
3.2在Unity 3D中获取天气信息 115
3.2.1通过网络API获取天气数据 115
3.2.2使用GZipStream解压缩字符数组 116
3.2.3在Unity中反序列化JSON数据 117
3.3在Unity 3D中获取GPS信息 119
3.3.1LocationService类 119
3.3.2构建场景和UI处理逻辑 119
3.3.3获取GPS数据 120
3.3.4通过地理位置获取城市 123
3.4在Unity中实现二维码的生成与识别 126
3.4.1QR CodeBarcode Scanner and Generator简介 126
3.4.2搭建工程场景 127
3.4.2扫描二维码 128
3.4.3生成二维码 130
3.5在Unity 3D中实现动态资源加载 132
3.5.1AssetBundle简介 132
3.5.2如何创建AssetBundle 132
3.5.3如何加载AssetBundle 134
3.5.4AssetBundle之间的依赖关系 135
3.6在Unity 3D中实现热更新 141
3.6.1热更新方案比较 141
3.6.2XLua简介 142
3.6.3如何使用XLua更新 142
第4章使用OpenCV开发图像识别应用 145
4.1OpenCV图像识别简介 145
4.1.1OpenCV图像识别技术应用领域 145
4.1.2OpenCV技术模块简介 145
4.1.3OpenCV For Unity插件介绍 147
4.2配置基础开发环境 148
4.2.1开发环境要求 148
4.2.2导入OpenCV For Unity插件包 148
4.2.3配置OpenCV For Unity插件 149
4.2.4运行OpenCV For Unity示例工程 149
4.3面部识别 152
4.3.1FaceTrackerSample扩展插件简介 152
4.3.2场景搭建 152
4.3.3编写面部识别脚本 155
第5章使用ARToolkit进行AR开发 160
5.1ARToolKit简介 160
5.1.1ARToolKit是什么 160
5.1.2ARToolKit特性简介 161
5.1.3ARToolKit插件包导入 161
5.1.4ARToolKit中的目录简介 163
5.2搭建一个简单的AR场景 163
5.2.1创建并设置AR Controller 163
5.2.2创建并设置ARMarker 165
5.2.3创建并设置AR Origin和AR Tracked Object 165
5.2.4创建并设置ARCamera 166
5.2.5运行场景 168
5.3ARToolKit中的识别图简介 168
5.3.1传统模板正方形识别图 168
5.3.22D-Barcode识别图 173
5.3.3多重识别图 175
5.3.4特征点识别图 177
5.4ARToolKit的进阶内容 178
5.4.1AR Controller的运行机制 178
5.4.2ARToolKit中性能问题的调查 178
5.4.3ARToolKit的使用限制 179
5.5跨平台开发的注意事项 180
5.5.1插件已知问题 180
5.5.2Android 180
5.5.3iOS 182
第6章Kinect应用开发 183
6.1Kinect简介 183
6.1.1Kinect是什么 183
6.1.2Kinect功能特性简介 183
6.2搭建Kinect的Unity 3D开发环境 184
6.2.1硬件需求 184
6.2.2安装DirectX 185
6.2.3安装Kinect SDK 186
6.2.4安装Kinect Unity插件 188
6.3使用Kinect制作体感游戏 190
6.3.1创建Kinect Manager 190
6.3.2导入人物3D模型并创建Avatar 190
6.3.3创建人物 192
6.3.4创建敌人 194
6.3.5为人物添加攻击处理 197
6.3.6添加UI显示 199
第7章HoloLens 202
7.1HoloLens简介 202
7.1.1Hologram简介 204
7.1.2HoloLens硬件细节 205
7.1.3HoloLens shell 207
7.1.4使用MRC 209
7.1.5HoloLens配件使用 210
7.2HoloLens使用与开发环境配置 210
7.2.1使用Windows Device Portal 210
7.2.2安装HoloLens开发工具 213
7.2.3HoloLens模拟器的使用 213
7.3使用Unity开发HoloLens全息应用 215
7.3.1配置适用于HoloLens开发的Unity工程 215
7.3.2摄像机(Camera)设置 219
7.3.3凝视(Gaze)功能实现 220
7.3.4手势(Gesture)功能实现 222
7.3.5语音输入(Voice input)功能实现 225
7.3.6世界锚(World Anchor)与场景保持(Persistence)功能实现 229
7.3.7空间音效(Spatial Sound)功能实现 234
7.3.8空间映射(Spatial Mapping)功能实现 235

教学资源推荐
作者: (美)Maurice Herlihy 布朗大学 Nir Shavit 麻省理工学院 著
作者: 汪同庆 张华 杨先娣
参考读物推荐
作者: [加]吉姆·范·麦格伦(Jim Van Meggelen),[美]罗素·布莱恩特(Russell Bryant),[加]莱夫·马德森(Leif Madsen) 著
作者: 杨丰盛 著
作者: (美)Michael C. Feathers 著
作者: [澳]马尔斯·吉尔达德(Mars Geldard) 乔纳森·曼宁(Jonathon Manning) 帕里斯·巴特菲尔德-艾迪生(Paris Buttfield-Addison) 蒂姆·纽金特(Tim Nugent) 著