前言
前 言:
前 言
计算机视觉系统的身影出现于多种场合,例如在夜间定位北冰洋中的冰山;针对亚马逊雨林的火灾、瘟疫或树木砍伐情况拍摄的航空地图;在港口或机场,视觉系统可对嫌疑犯和违禁品进行监视;在深暗的马里亚纳海沟,视觉系统可对潜艇的行进路线进行导航;在手术室中,该系统可实现手术进程的视觉化效果,并监视病人的健康状态;另外,此类系统还可作为热追踪防空导弹的转向系统。
出于各方面的原因,人们很难亲身经历上述各种场合。然而,精彩的故事往往可假设某些极端环境,在一些苛刻的条件下,人们需要特殊工具的辅助。恰当地说,当代小说中深受人们喜爱的人物和普通人并无两样(英俊但并不夸张,聪明却非遥不可及),他们通常身着漂亮的西服并为英国政府工作,通常只会选同一种饮料,欣赏同一类型的女人,甚至说话口气也从未改变。他们装备齐全并被派往执行危险的任务。
“我是邦德,詹姆斯?邦德”。
本书题材源自谍报小说007,并讨论其中所涉及的科技与技术。小说的主要角色詹姆斯?邦德擅长于侦查、伪装、智能设备的应用、图像捕捉技术,甚至涉及某些专业的计算机视觉技术。在本书丰富的想象力以及技术支持下,读者同样有机会晋升为下一代的装备专家,并与詹姆斯?邦德的御用工程师Q博士一争高下。
本书内容
第1章讨论Python开发环境,Windows环境下的Android开发环境,Mac或Linux系统。本章还将在Windows或Mac操作系统中安装Unity开发环境。
第2章将根据色彩方案对建筑图像进行分类,包括豪华酒店或斯大林时期的公寓建筑。本章采用了搜索引擎中的分类器,并对搜索到的图像结果进行标记。
第3章讨论人脸或猫脸的检测和识别技术,并将其作为一种警示方法。在本章中,任务之一便是是否找到了Ernst Stavro Blofeld(电影007中著名的奸角),以及他怀中的那只蓝眼安哥拉猫。
第4章讨论运动检测和姿势识别技术,并可作为智能手机上的一种游戏控制方式。即使在无人知晓的情况下,手机设备也可检测到詹姆斯?邦德的点头动作。
第5章将对汽车头灯进行检测,对其颜色分类,估算与车灯之间的距离,并向驾驶员提供信息反馈。例如,后方车辆是否在紧紧跟随我们的汽车?
第6章采用实时方式对视频摄入内容中的运动行为进行放大,以使心跳或气息处于可见状态,并以此考查某人的心智状态。
第7章将对物理运动进行模拟。其中,物理和时控机制将作为重点内容加以讨论。
背景知识
本书支持多种操作系统作为开发环境,包括Windows XP及其后续版本,Mac OS X 10.6及其后续版本,Debian Wheezy、Raspbian、Ubuntu 12.04及其后续版本,Linux Mint 13及其后续版本,Fedora 18及其后续版本,CentOS 7及其后续版本,openSUSE 13.1及其后续版本。
本书根据下列需求实现了6个项目,其中包括:
4个项目可运行于Windows、Mac或Linux操作系统中,并需要网络摄像头的支持。作为可选项,这一类项目还可使用Raspberry Pi系统,或者其他基于Linux操作系统的单片机上。
1个项目可运行于Android 2.2及其后续版本中,并需要前置摄像头的支持(大多数Android设备均可满足这一条件)。
1个项目可运行于Android 2.3及其后续版本中,并需要后置摄像头以及重力传感器的支持(大多数Android设备均可满足这一条件)。在开发过程中,该项目需要使用Windows或Mac操作系统。另外,其中涉及的游戏开发软件大约需要花费75美元。
本书提供了所需库和工具安装的全部信息,另外还包括Raspberry Pi的安装信息。
本书适用读者
本书引领读者将计算机视觉技术付诸于实践,这一过程充满了乐趣。本书假设读者已经熟悉了2D图形学概念、面向对象语言、GUI、网络机制以及命令行操作,且并不要求读者了解特定库或操作系统平台。另外,本书将从开发环境构建至应用程序发布等多个方面对OpenCV予以介绍。
如果读者计划学习多种技术并将其进行有机的结合,本书将引领读者深入理解多种系统类型,以及与计算机视觉相关的应用领域,并通过多种方案检测、识别并增强人脸、物体和运动行为。