首页>参考读物>计算机科学与技术>综合

OpenCV项目开发实战(原书第2版)
作者 : [美]约瑟夫·豪斯(Joseph Howse)著
译者 : 刘冰 译
丛书名 : 华章程序员书库
出版日期 : 2020-04-15
ISBN : 978-7-111-65234-2
定价 : 79.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 244
开本 : 16
原书名 : OpenCV 4 for Secret Agents,Second Edition
原出版社: Packt Publishing Ltd.
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

本书详细阐述了与OpenCV移动应用程序相关的基本解决方案,主要包括搜索世界范围内的豪华建筑、利用姿势控制应用程序、车载后视摄像头和危险警告、利用运动放大相机查看心率、根据素描画创建物理模拟等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学教材和参考手册。

图书特色

0

图书前言

计算机视觉系统的应用越来越广泛:在北冰洋部署了计算机视觉系统,以便在夜间发现冰山;各种飞行器上应用了计算机视觉系统,它们飞过亚马孙热带雨林,绘制火灾、破坏雨林和非法伐木的航拍图;世界各地的港口和机场设立了计算机视觉系统,以扫描嫌疑人和违禁品;计算机视觉系统也被应用到马里亚纳海沟以引导自主潜艇;将计算机视觉系统应用于手术室,帮助外科医生可视化手术过程并监控病人的当前状况;将计算机视觉系统作为热寻防空火箭的转向系统从战场上发射。类似的应用不胜枚举。
我们可能很少(或从未)去过这些地方。然而,故事往往鼓励我们想象极端的环境和一个人在这些无情的条件下对工具的依赖。这让我想到了当代影视作品中最受欢迎的人物之一,他是一个普通的男人(英俊,但不太帅;聪明,但不过于聪明),穿着西装,为英国政府工作,总是选择同样的饮料、同样类型的女人,用同样的语调传递双关语,带着一些奇特的科技武器,被派去从事危险的工作。他就是007系列电影的主人公:詹姆斯·邦德。
这本书讨论了非常有用的技术和技巧,并从特工小说中获得灵感。邦德系列电影在侦查、伪装、智能设备、图像拍摄,有时甚至是在计算机视觉方面都有丰富的创意。凭借想象力,再加上努力学习新技能,我们可以和邦德的工程师Q一较高下!
本书目标读者
本书是为那些想让计算机视觉成为他们生活中实用而有趣的一部分的技术人员而编写的。你应该熟悉2D图形概念、面向对象语言、GUI、网络和命令行。本书假设你没有任何特定库或平台的经验,书中涵盖了从设置开发环境到部署完成应用程序的所有内容。
学习多种技术和技巧,然后将其集成起来的愿望是非常有益的!本书将帮助你理解与计算机视觉相关的几种类型的系统和应用领域,并帮助你将一些方法应用于检测、识别、跟踪和增强人脸、物体及运动。
本书内容
第1章帮助我们在Windows、macOS或Linux系统上安装OpenCV、Python开发环境和Android开发环境。在该章中,我们还在Windows或macOS上安装Unity开发环境。
第2章帮助我们根据配色方案对房地产图像进行分类。我们是在豪宅外,还是在豪宅内?在该章中,我们将在搜索引擎中使用分类器来标记图像结果。
第3章帮助我们检测和识别人脸与猫脸,作为控制警报的一种手段。Ernst Stavro Blofeld带着他的蓝眼睛安格拉猫回来了吗?
第4章帮助我们检测运动并识别动作,将其作为控制智能手机上猜谜游戏的一种手段。手机知道邦德为什么点头,即使其他人都不知道。
第5章帮助我们检测汽车头灯,对其颜色进行分类,估计与它的距离,并为驾驶员提供反馈。那辆车是在跟踪我们吗?
第6章帮助我们在纸上画一个迷宫中的球,并将其看成是智能手机上的一个物理模拟。物理和时间是一切!
第7章帮助我们放大实时视频中的运动,使人的心跳和呼吸变得清晰可见。
第8章帮助我们改进前一章的项目,采用专业相机进行高速、红外线或紫外线成像。超越人类视觉的极限!
附录A帮助我们解决在某些树莓派环境中影响wxPython GUI库的兼容性问题。
附录B帮助我们发现OpenCV的除本书项目中使用的功能之外的更多特征检测功能。
附录C帮助我们学习在Python环境中运行Python代码以及测试OpenCV的安装。
最佳配置
本书支持多种操作系统作为开发环境,包括Windows 7 SP 1或更高版本、macOS X 10.7(Lion)或更高版本、Debian Jessie、Raspbian、Ubuntu 14.04或更高版本、Linux Mint 17或更高版本、Fedora 28或更高版本、Red Hat Enterprise Linux(RHEL)8或更高版本、CentOS 8或更高版本、openSUSE Leap 42.3、openSUSE Leap 15.0或更高版本,以及openSUSE Tumbleweed。
本书包含6个项目,需求如下:
这6个项目中有4个项目是在Windows、macOS或Linux上运行的,需要一个网络摄像头。这些项目可以选择使用树莓派或其他运行Linux的单板计算机。
一个项目在Android 5.0(Lollipop)或更高版本上运行,需要一个前置摄像头(大多数Android设备都有)。
一个项目在Android 4.1(Jelly Bean)或更高版本上运行,需要一个后置摄像头和重力传感器(大多数Android设备都有)。为了进行开发,需要一台Windows或macOS机器和价值约95美元的游戏开发软件。
有关所有需求库和工具的安装说明,以及树莓派的可选设置说明都将在本书介绍。
下载示例代码及彩色图像
本书的示例代码及所有截图和样图,可以从http://www.packtpub.com通过个人账号下载,也可以访问华章图书官网http://www.hzbook.com,通过注册并登录个人账号下载。
本书的代码包也在https://github.com/PacktPublishing/OpenCV-4-for-Secret-Agents-Second-Edition的GitHub上托管。如果代码有更新,将在现有的GitHub库上进行更新。

上架指导

计算机\图形图像

封底文字

OpenCV 4是一个开源的图像处理函数和计算机视觉算法的集合,支持多种编程语言和平台,能够快速实现许多实时应用程序。借助OpenCV 4,你将能够构建各种令人满意的小工具。
本书涉及各种基于计算机视觉、机器学习,以及多种应用程序框架的项目。为了让你能够在各种桌面系统和树莓派上构建应用程序,本书支持从2.7到3.7的多种Python版本。对于Android应用程序开发,本书还支持Android Studio中的Java以及Unity游戏引擎中的C#。本书将从詹姆斯·邦德获得灵感,给你的日常生活增添一点冒险色彩,并将计算机视觉带入你的生活中。你可以利用分析障碍物、人或猫的智能摄像头系统保护你的家和车。除此之外,你还将学习如何训练一个搜索引擎肯定或否定它所找到的图像,以及如何建立一个能够与你对话,并对你的肢体语言做出反应的移动应用程序。
学习完本书之后,你将掌握开发应用程序和计算机视觉的知识及技能,最终,你会成为相关领域的专业人士。

通过阅读本书,你将学到:
检测运动并识别手势,进而控制一个智能手机游戏。
检测汽车头灯,估计头灯之间的距离。
检测和识别人脸及猫脸来触发报警。
放大在实时视频中的运动,显示心跳和呼吸。
检测在一个实际场景中绘制的形状,进行物理模拟。
用Python 3为桌面和树莓派构建OpenCV 4项目。
在Android Studio和Unity中开发OpenCV 4 Android应用程序。

作者简介

[美]约瑟夫·豪斯(Joseph Howse)著:Joseph Howse ,计算机视觉领域的专家,著作包括OpenCV 4 for Secret Agents、OpenCV 3 Blueprints、Android Application Programming with OpenCV 3、iOS Application Development with OpenCV 3、Learning OpenCV 3 Computer Vision with Python以及Python Game Programming by Example等。

译者序

OpenCV是一个开源的、跨平台的计算机视觉库,由一系列C函数和少量C++类构成,提供了Python、MATLAB、Ruby等语言的接口,可以在Linux、Windows和macOS等操作系统上运行,主要用于视频图像处理和计算机视觉领域的通用算法的实现。利用OpenCV能够完成视频图像的采集、特征提取、目标识别、检测、监控及跟踪定位等任务,OpenCV常见的应用领域包括人机交互、物体识别、图像分割、人脸识别、动作识别、运动跟踪、运动分析以及汽车安全驾驶等。
本书内容精练、重点突出、示例丰富。作者用幽默风趣、简洁生动的语言,通过实际的编程案例,让读者了解并掌握OpenCV 4的开发过程。全书案例使用的语言包括Python和Java,此外还涉及一点C#。作者在GitHub提供了这些案例的完整源代码,供读者下载。本书适合于那些想要从事视频图像处理、计算机视觉领域研发的学生、科研人员,及相关领域的软件开发人员。
本书由重庆邮电大学的教师刘冰博士历时3个多月翻译完成。在翻译本书的过程中,译者查阅了大量的中英文有关OpenCV和Python编程的图书资料。但因水平有限,译文中难免存在不当之处,恳请读者批评指正。
感谢机械工业出版社华章分社的编辑们,是他们的严格要求,才使本书得以高质量出版。

刘冰
liubing@cqupt.edu.cn

图书目录

译者序
前言
作者简介
审校者简介
译者简介
第一部分 概述
第1章 任务准备2
1.1 技术需求3
1.2 安装开发机3
1.2.1 在Windows上安装Python和OpenCV5
1.2.2 在Mac上安装Python和OpenCV8
1.2.3 在Debian Jessie及其衍生系统(包括Raspbian、Ubuntu和Linux Mint)上安装Python和OpenCV12
1.2.4 在Fedora及其衍生系统(包括RHEL和CentOS)上安装Python和OpenCV15
1.2.5 在openSUSE及其衍生系统上安装Python和OpenCV16
1.3 安装Android Studio和OpenCV16
1.4 安装Unity和OpenCV17
1.5 安装树莓派18
1.6 查找OpenCV文档、帮助和更新22
1.7 树莓派的替代产品23
1.8 本章小结23
第2章 搜索世界各地的豪华住宿24
2.1 技术需求24
2.2 设计Luxocator应用程序25
2.3 直方图的创建、比较和存储26
2.4 用参考图像训练分类器31
2.5 从网上获取图像32
2.6 从Bing图像搜索上获取图像34
2.7 为应用程序准备图像和资源39
2.8 将所有内容集成到GUI中41
2.9 运行Luxocator并解决SSL问题48
2.10 编译Luxocator发行版49
2.11 本章小结51
第二部分 追踪
第3章 训练智能警报器识别坏蛋和他的猫54
3.1 技术需求55
3.2 机器学习的通识理解55
3.3 设计交互式识别器应用程序56
3.4 理解哈尔级联和LBPH58
3.5 实现交互式识别器应用程序60
3.6 设计猫检测模型72
3.7 实现猫检测模型的训练脚本74
3.8 设计Angora Blue应用程序85
3.9 实现Angora Blue应用程序85
3.10 编译Angora Blue的发行版91
3.11 搜寻猫科动物的更多乐趣91
3.12 本章小结91
第4章 用轻柔的动作控制手机应用程序93
4.1 技术需求94
4.2 设计Goldgesture应用程序94
4.3 理解光流95
4.4 在Android Studio中设置项目96
4.5 获取级联文件和音频文件100
4.6 指定应用程序的需求101
4.7 将摄像头预览布置为主视图102
4.8 跟踪往复动作103
4.9 播放的音频片段作为问题和答案105
4.10 在活动中捕捉图像并跟踪脸部109
4.11 本章小结123
第5章 给汽车配备后视摄像头和危险检测装置124
5.1 技术需求125
5.2 设计The Living Headlights应用程序125
5.3 检测光作为斑点127
5.4 估算距离(一种廉价的方法)129
5.5 实现The Living Headlights应用程序132
5.6 在家里测试The Living Headlights应用程序143
5.7 在车内测试The LivingHeadlights应用程序145
5.8 本章小结148
第6章 基于笔和纸的草图创建物理模拟150
6.1 技术需求151
6.2 设计Rollingball应用程序152
6.3 检测圆形和线条153
6.4 为Unity安装OpenCV155
6.5 配置和编译Unity项目157
6.6 在Unity中创建Rollingball场景160
6.7 创建Unity资源并将其添加到场景中162
6.7.1 编写着色程序并创建素材162
6.7.2 创建物理素材164
6.7.3 创建prefab165
6.7.4 编写我们的第一个Unity脚本167
6.7.5 编写Rollingball的主脚本168
6.8 在Unity中创建启动场景183
6.9 整理和测试184
6.10 本章小结186
第三部分 大揭秘
第7章 用运动放大摄像头观察心跳188
7.1 技术需求189
7.2 设计Lazy Eyes应用程序190
7.3 欧拉视频放大191
7.4 利用快速傅里叶变换从视频中提取重复信号191
7.5 用图像金字塔合成两幅图像195
7.6 实现Lazy Eyes应用程序196
7.7 为各种运动配置和测试应用程序203
7.8 本章小结208
第8章 停下来,像蜜蜂一样观察209
8.1 技术需求210
8.2 设计Sunbaker应用程序210
8.3 了解光谱212
8.4 寻找专业相机213
8.4.1 XNiteUSB2S-MUV214
8.4.2 Sony PlayStation Eye215
8.4.3 灰点Grasshopper 3 GS3-U3-23S6M-C216
8.5 安装Spinnaker SDK和PySpin217
8.6 用PySpin从工业相机中获取图像218
8.7 调整Lazy Eyes应用程序生成Sunbaker223
8.8 本章小结225
附录A 使WxUtils.py与树莓派兼容227
附录B 学习OpenCV中有关特征检测的更多内容229
附录C 与蛇共舞(Python的第一步)231

教学资源推荐
作者: 徐洁磐 李臣明 史九林 编著
作者: 试题研究编写组
作者: 刘国忠 主编 吕勇 马牧燕 那云虓 参编
作者: 王新年 张涛 编著
参考读物推荐