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

iOS增强现实应用开发实战
作者 : (美)Kyle Roche 著
译者 : 徐学磊 译
丛书名 : 华章程序员书库
出版日期 : 2013-05-04
ISBN : 978-7-111-42020-0
定价 : 59.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 267
开本 : 16
原书名 : Pro iOS 5 Augmented Reality
原出版社: Apress
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

国内首本基于iOS的增强现实类著作,系统讲解增强现实的实用工具、核心技术和基本原理,以及如何将增强现实技术与iOS开发技术相融合。图文并茂、实例丰富,以简明易懂的语言循序渐进地讲解了游戏、社交和面部识别等各种类型的iOS应用的开发方法,可操作性强。更为重要的是,它还讲解了如何将增强现实技术应用到已有的应用中!
本书共分13章,具体内容如下:第1章主要介绍了创建增强现实应用的准备工作以及关键章节的简述;第2章介绍了检查各种硬件组件可用性的方法;第3章介绍了iOS的地图功能和将其集成到具体应用的高级技术;第4章介绍了加速计和陀螺仪、磁力计等iOS传感器;第5章介绍了如何在一个增强现实应用中播放和记录声音;第6章,介绍了如何使用iPhone或者iPad的拍照和录像功能进行视频采集;第7章讲解了如何使用cocos2D在摄像头视图上覆盖一个HUD层;第8章细述了一个cocos2D增强现实应用的创建;第9章介绍了String、qualcomm和ARKit增强现实工具包的应用;第10章讲述了利用String、OpenGL ES建立一个基于标记的增强现实应用;第11章介绍如何建立一个社交型的增强现实应用;第12章~13章介绍了面识别技术及其在增强现实应用中的用法。

图书特色

本书全面讲解了如何创建能够释放iOS所有潜能的增强现实应用,展示如何使用你的iOS设备的传感器和摄像头来整合面部识别和社交媒体功能与周围环境实现互动。
本书涵盖增强现实应用所需硬件和软件背景知识,以及创建iOS增强现实应用的基本原理、实用工具:从MapKit的使用,到加速计和指南针,再到面部识别和Facebook数据的整合,你将会在参与案例分析的过程中掌握如何创建实用、有趣的增强现实应用。

通过阅读本书,你将会学习到:
如何使用MapKit以及如何在你的应用中整合MapKit;
如何在一个增强现实应用中播放和记录声音;
如何使用iPhone或者iPad的拍照和录像功能;
如何使用加速计、陀螺仪和指南针编程;
如何使用cocos2D在摄像头视图上覆盖一个HUD层;
如何在你的应用中整合进面部识别功能;
如何创建功能丰富的增强现实游戏和Facebook应用。
掌握本书所讲内容后,你将能够创建多媒体增强现实应用,或者把所有最好的增强现实技术和工具融入到已有的应用中。

作者简介
Kyle Roche 资深增强现实技术专家,游走在新兴技术前沿。其主要专注于移动应用和联网电子产品项目,而增强现实和游戏框架在这些应用的直观化方面发挥了重要作用。他在任职Appirio公司期间,领导了世界上首个、也是最大的Google和Force.com的云平台迁移。他还是RingDNA(ringdna.com)的首席架构师和2lemetry(2lemetry.com)的联合创始人。Kyle在闲暇时也会为当地的非营利组织编写iOS应用。更多信息可参见kyleroche.com网站。

技术审校
Yosun Chang 曾在多个关于虚拟世界、影院和增强现实的会议中以艺名Ina Centaur发表演讲。从事LAMP stack和Flash的Web开发工作十余年;2009年年初开始从事iOS和Android开发,现在在开发一个叫做nusoy的下一代3D增强现实移动游戏的项目。她仔细阅读了审评章节的每一个单词和源代码。其Twitter地址是@yosunchang。
Peter Ma 从事Web、iOS、Android、WebOS和WP7开发多年。他做过从数据库设计到移动呈现在内的各种项目。Peter赢得了很多黑客马拉松和开发者挑战赛,并且都是使用原生工具。在TED Global2010赛季,他赢得了TED Prize主办的挑战赛,并为TED做了一个关于创建移动应用的讲座,并开发了TEDx应用。其Twitter地址是@Nyceane。
Graham Wood 专注于iOS平台的移动应用开发专家,逾十年软件开发经验,多为安全第一的商用飞机嵌入式系统编写软件。任职于Wood App Developers LLC公司,为客户开发移动应用以及公司自用的iOS应用套件。其邮箱地址是graham@woodappsllc.com,Twitter地址是@woodappsllc。

图书前言

这是一本写起来生动又有趣的书!增强现实是一个令人着迷的新领域,这个领域很活跃,有很多可以开发的内容,进而把技术融入到我们日常生活的地方。每周,大量的公司和工具包如雨后春笋般地出现,它们都试图占领这个新兴的市场。
  本书的目的是为你开发这类应用程序提供一个思路。我从讨论程序的基本原理开始,例如指南针和加速计,再如更高级的图像处理背后的原理。
  本书是面向有经验的iOS开发者的。你需要有一定的Xcode和Objective-C经验。我使用第三方的框架和一些iOS 5的新API向你展示如何建立增强现实应用程序,例如位置、社交和游戏。
  你可以从Apress.com网站上本书的页面中下载书中的源代码,或者从www.apress.com/source-code/下载。
致谢
  我是在创业时的过渡期写的这本书。我们正从一家公司转移并启动了两个新项目。而且大部分时间iOS 5还处在测试中。写作这本书期间正好是我非常困难的时期。如果没有Corbin Collins和Steve Anglin领导的Apress团队的支持,完成这本书根本是不可能的。
  从技术上来说,我想要感谢我的同事Sergey Loshchilov。Sergey是俄国下诺夫哥罗德国立科技大学的一个硕士研究生。他在OpenCV和iOS 5最新API方面对我帮助很大。Sergey发布了一篇关于常见增强现实算法的比较文章。我会在kyleroche.com网站上发布指向这个文章的链接。
  对于个人来说,在推进本书出版过程中的无数个漫长的夜晚和周末,我的妻子和四个孩子一直非常支持我。我感谢他们的耐心和贡献。在讲述面部识别那一章时,我有机会让孩子们一起参加,这是他们和我的共同乐趣。

上架指导

计算机\程序设计

封底文字

本书全面讲解了如何创建能够释放iOS所有潜能的增强现实应用,展示如何使用你的iOS设备的传感器和摄像头来整合面部识别和社交媒体功能与周围环境实现互动。
本书涵盖增强现实应用所需硬件和软件背景知识,以及创建iOS增强现实应用的基本原理、实用工具:从MapKit的使用,到加速计和指南针,再到面部识别和Facebook数据的整合,你将会在参与案例分析的过程中掌握如何创建实用、有趣的增强现实应用。
通过阅读本书,你将会学习到:
 如何使用MapKit以及如何在你的应用中整合MapKit;
 如何在一个增强现实应用中播放和记录声音;
 如何使用iPhone或者iPad的拍照和录像功能;
 如何使用加速计、陀螺仪和指南针编程;
 如何使用cocos2D在摄像头视图上覆盖一个HUD层;
 如何在你的应用中整合进面部识别功能;
 如何创建功能丰富的增强现实游戏和Facebook应用。
掌握本书所讲内容后,你将能够创建多媒体增强现实应用,或者把所有最好的增强现实技术和工具融入到已有的应用中。

作者简介

(美)Kyle Roche 著:暂无简介

译者简介

徐学磊 译:暂无简介

译者序

增强现实是一个非常有趣的新兴领域,并且潜力无限。其实它在科幻电影和军事上已经存在很久了,直到最近几年,随着移动设备的兴起,终于开始融入到我们的生活中。
  增强现实是一项很神奇的技术,使用这种技术可以产生很多非常吸引人的交互体验,例如帮助人们尝试各种新式发型、远程试穿衣服、实时显示产品信息、演示玩具的玩法,等等。而且这些还只是增强现实用途的一小部分,随着时间的推移,增强现实一定会在不远的将来渗透到我们生活的方方面面,甚至是实现现实世界与虚拟世界的融合。
  本书为国内首本增强现实类书籍,涵盖实用、前沿的开发工具和技能知识,语言通俗易懂,容易掌握,是学习增强现实的理想选择之一。更为重要的是,它讲解了如何将增强现实技术应用到已有的应用中。本书从iOS设备的硬件配置讲起,逐步介绍了增强现实技术的各个技术细节,包括位置服务、传感器的使用、声音支持、拍照和录像、面部识别、cocos2D的应用,以及多个第三方增强现实工具包。虽然本书是一本增强现实的入门书籍,需要你有一定的Xcode和Objective-C经验,但是我相信这难不倒你。建议喜欢不断尝试新鲜事物的技术人员以及有一定编程经验的创意人士阅读此书。本书内容翔实、图文并茂,而且包含丰富的例子程序,一定可以让你轻松地进入增强现实世界。学完本书后你就可以用最新的增强现实技术来实现你自己的创意。
  本书的翻译得到了很多人的帮助。特别感谢机械工业出版社华章分社,谢谢他们的信任和支持。本书翻译过程中查阅、参考了大量的相关资料,力争译文通俗通畅,专业词汇准确,再现原著风貌。
  最后也是最重要的,我想感谢选择阅读本书的读者。我希望本书能帮助你走进增强现实的神奇世界,祝你成功!
  由于译者水平有限,错误在所难免,恳请广大读者给予批评指正。

  徐学磊
  2013年4月

图书目录

译者序
前言
第1章 引言 1
1.1 增强现实的应用实例 1
1.1.1 日常应用的趋势2
1.1.2 游戏和基于位置的应用3
1.2 准备工作3
1.2.1 注册GitHub账户3
1.2.2 从机器访问GitHub4
1.2.3 安装Xcode 4.2和创建开发者账户5
1.2.4 连接Xcode工程到GitHub6
1.2.5 创建Xcode工程8
1.2.6 连接工程到远程仓库9
1.3 下一步做什么9
1.3.1 位置服务10
1.3.2 传感器编程10
1.3.3 声音和视频采集10
1.3.4 游戏框架10
1.3.5 第三方框架10
1.4 总结10
第2章 硬件比较 11
2.1 除旧存新11
2.2 硬件组件12
2.2.1 摄像头支持12
2.2.2 位置检测能力15
2.2.3 数字指南针16
2.2.4 声音支持17
2.2.5 检查录像功能18
2.2.6 加速计和陀螺仪19
2.3 强制硬件需求21
2.4 总结22
第3章 使用位置服务 23
3.1 基础功能23
3.1.1 标准位置服务26
3.1.2 显著变更位置服务29
3.1.3 地理区域监控服务30
3.1.4 高度34
3.2 在地图上查看35
3.2.1 置中地图和设置显示区域36
3.2.2 修改地图类型38
3.2.3 在地图上添加注释40
3.3 解析地理编码42
3.4 总结44
第4章 iOS传感器 45
4.1 方向传感器45
4.1.1 使用加速计45
4.1.2 低通滤波49
4.1.3 使用陀螺仪50
4.1.4 磁力计55
4.2 总结60
第5章 声音和用户反馈 61
5.1 音频数据格式61
5.1.1 哪一种格式适合我们呢62
5.1.2 文件保存格式62
5.1.3 比特率和质量62
5.1.4 采样率62
5.1.5 为在iOS中使用而转换音频格式63
5.2 在iOS应用中播放声音65
5.2.1 系统声音服务66
5.2.2 AVAudioPlayer类66
5.2.3 测试多重音频播放66
5.2.4 播放位置声音68
5.2.5 通过震动进行用户反馈68
5.3 录音69
5.4 总结71
第6章 摄像头和视频采集 72
6.1 快速浏览72
6.2 拍照73
6.2.1 使用故事板74
6.2.2 使用摄像头76
6.2.3 以不同的格式保存图像78
6.2.4 通过电子邮件发送图像79
6.3 视频捕获81
6.3.1 建立一个视频预览基础81
6.3.2 为帧捕获建立基础82
6.4 总结86
第7章 把cocos2D用于增强现实 88
7.1 概况88
7.2 安装88
7.2.1 安装工程模板89
7.2.2 创建工程90
7.3 初识增强现实应用视图91
7.3.1 调整默认视图91
7.3.2 添加摄像头视图92
7.3.3 缩放摄像头视图93
7.4 cocos2D的概念94
7.4.1 场景94
7.4.2 控制器95
7.4.3 图层95
7.5 添加效果95
7.5.1 处理触摸事件96
7.5.2 视觉效果97
7.5.3 添加声音效果98
7.6 添加HUD层99
7.7 总结103
第8章 构建cocos2D增强现实游戏 104
8.1 概述104
8.2 创建工程105
8.3 创建游戏菜单108
8.3.1 原图110
8.3.2 辅助代码目录113
8.3.3 完成菜单屏113
8.4 添加菜单选项120
8.5 完成动作层129
8.6 南瓜来了130
8.7 结束游戏134
8.8 总结136
第9章 第三方增强现实工具包 138
9.1 概述138
9.2 Powered by String框架138
9.2.1 String的基本工作流程139
9.2.2 额外功能140
9.2.3 整合Unity141
9.2.4 高级着色和OpenGL功能141
9.3 Qualcomm软件开发工具包142
9.4 建立我们自己的QCAR演示144
9.4.1 创建Xcode工程146
9.4.2 EAGLView147
9.4.3 重定向UIView158
9.5 ARKit160
9.6 总结160
第10章 使用OpenGL ES创建基于标记的增强现实应用 161
10.1 建立标记161
10.1.1 我们的标记161
10.1.2 OpenGL ES162
10.2 创建工程162
10.2.1 添加String框架162
10.2.2 EAGLView163
10.2.3 创建增强现实视图控制器168
10.3 总结172
第11章 构建社交型的增强现实应用 173
11.1 快速设置173
11.1.1 创建Fackbook应用173
11.1.2 克隆Facebook iOS SDK174
11.2 词汇表175
11.2.1 方位角175
11.2.2 矫正方向175
11.3 构建应用176
11.3.1 致谢176
11.3.2 所需框架176
11.3.3 添加Facebook iOS SDK176
11.3.4 开始编码176
11.3.5 监听传感器更新181
11.3.6 存储坐标183
11.4 添加社交上下文193
11.5 总结203
第12章 面部识别技术 204
12.1 面部识别的可选项204
12.1.1 OpenCV204
12.1.2 iOS 5的CIDetector类204
12.1.3 face.com205
12.2 使用OpenCV的方式205
12.2.1 为测试捕获图像205
12.2.2 哈尔级联分类器209
12.2.3 OpenCV综述214
12.3 使用CIDetector类的方式215
12.4 使用face.com API的方式217
12.4.1 faces.detect API的调用217
12.4.2 添加face.com支持到例子中218
12.4.3 face.com API Key218
12.4.4 添加face.com Callout219
12.5 测试性能222
12.6 总结229
第13章 建立一个面部识别增强现实应用 231
13.1 应用的目的231
13.2 快速设置232
13.2.1 face.com232
13.2.2 cocos2D233
13.2.3 建立Twilio账户233
13.2.4 下载ASI-HTTP-Request库233
13.2.5 JSON框架233
13.3 工程结构234
13.4 建立主场景235
13.5 face.com API245
13.5.1 使用ASI-HTTP-Request库246
13.5.2 创建POST请求方法247
13.5.3 创建NSTimer249
13.5.4 解析输出251
13.5.5 构造HUD层254
13.6 添加一个Twilio调出259
13.7 总结260

教学资源推荐
作者: (美)Richard C.Detmer
作者: [美]梁勇(Y.Daniel Liang) 著
作者: Brian W.Kernighan,Rob Pike
参考读物推荐
作者: 朱志文 著
作者: 章立民研究室
作者: (美)Floyd Marinescu