OpenCV项目开发实战pdf下载pdf下载

OpenCV项目开发实战百度网盘pdf下载

作者:
简介:本篇主要提供OpenCV项目开发实战pdf下载
出版社:机械工业出版社自营官方旗舰店
出版时间:2020-04
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

产品特色


编辑推荐

适读人群 :本书适合想要从事视频图像处理、计算机视觉领域研发的学生、科研人员,及相关领域的软件开发人员阅读。

OpenCV 4是一个开源的图像处理函数和计算机视觉算法的集合,支持多种编程语言和平台,能够快速实现许多实时应用程序。借助OpenCV 4,你将能够构建各种令人满意的小工具。


本书是一本OpenCV项目开发入门教程。作者从实际代码出发,通过实际的编程案例,详细阐述与OpenCV移动应用程序相关的基本解决方案,并讨论计算机视觉相关的实用技术和技巧,涵盖从设置开发环境到部署完成应用程序的所有内容,可以帮助你快速熟悉、了解并掌握OpenCV 4开发过程。


全书共7章,分别介绍了开发环境设置、在搜索引擎中使用分类器来标记图像结果、用轻柔的动作控制手机应用程序、车载后视摄像头和危险检测、利用运动放大相机查看心率、基于笔和纸的草图创建物理模拟等内容。此外,本书还提供了相应的示例、代码,以帮助你进一步理解相关方案的实现过程。


内容简介

本书涉及各种基于计算机视觉、机器学习,以及多种应用程序框架的项目。为了让你能够在各种桌面系统和树莓派上构建应用程序,本书支持从2.7到3.7的多种Python版本。对于Android应用程序开发,本书还支持Android Studio中的Java以及Unity游戏引擎中的C#。本书将从詹姆斯·邦德获得灵感,给你的日常生活增添一点冒险色彩,并将计算机视觉带入你的生活中。你可以利用分析障碍物、人或猫的智能摄像头系统保护你的家和车。除此之外,你还将学习如何训练一个搜索引擎肯定或否定它所找到的图像,以及如何建立一个能够与你对话,并对你的肢体语言做出反应的移动应用程序。

学习完本书之后,你将掌握开发应用程序和计算机视觉的知识及技能,最终,你会成为相关领域的专业人士。

通过阅读本书,你将学到:

●检测运动并识别手势,进而控制一个智能手机游戏。

●检测汽车头灯,估计头灯之间的距离。

●检测和识别人脸及猫脸来触发报警。

●放大在实时视频中的运动,显示心跳和呼吸。

●检测在一个实际场景中绘制的形状,进行物理模拟。

●用Python 3为桌面和树莓派构建OpenCV 4项目。

●在Android Studio和Unity中开发OpenCV 4 Android应用程序。


作者简介

【作者简介】

约瑟夫·豪斯(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等。

【译者简介】

刘冰

博士毕业于重庆大学,重庆邮电大学计算机科学与技术学院/人工智能学院教师,先后发表SCI/EI学术论文4篇、翻译出版程序设计、图像处理、计算机视觉等领域译著4部,编写教材5部,申请发明专利3项,参与主研国家、省部级项目3项。荣获重庆邮电大学优秀班主任、优秀班导师、优秀青年教师等荣誉称号。


内页插图

目录

【第一部分 概述】

●第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


前言/序言

【前言】

计算机视觉系统的应用越来越广泛:在北冰洋部署了计算机视觉系统,以便在夜间发现冰山;各种飞行器上应用了计算机视觉系统,它们飞过亚马孙热带雨林,绘制火灾、破坏雨林和非法伐木的航拍图;世界各地的港口和机场设立了计算机视觉系统,以扫描嫌疑人和违禁品;计算机视觉系统也被应用到马里亚纳海沟以引导自主潜艇;将计算机视觉系统应用于手术室,帮助外科医生可视化手术过程并监控病人的当前状况;将计算机视觉系统作为热寻防空火箭的转向系统从战场上发射。类似的应用不胜枚举。

我们可能很少(或从未)去过这些地方。然而,故事往往鼓励我们想象极端的环境和一个人在这些无情的条件下对工具的依赖。这让我想到了当代影视作品中最受欢迎的人物之一,他是一个普通的男人(英俊,但不太帅;聪明,但不过于聪明),穿着西装,为英国政府工作,总是选择同样的饮料、同样类型的女人,用同样的语调传递双关语,带着一些奇特的科技武器,被派去从事危险的工作。他就是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美元的游戏开发软件。

有关所有需求库和工具的安装说明,以及树莓派的可选设置说明都将在本书介绍。