新书推荐

《OpenCV 4计算机视觉项目实战(原书第2版)》

长按二维码
了解及购买

一本使用OpenCV进行计算机视觉应用开发的实践,指南不仅介绍OpenCV基础知识,还详细讲解各种实用的计算机视觉算法以及一些高级的计算机视觉技术,通过丰富的实例和代码示例,帮助你轻松掌握OpenCV概念及算法,从零开始构建各种计算机视觉应用程序。

编辑推荐

OpenCV是用于开发计算机视觉应用程序的最流行的开源库之一,它可以帮助你专注于构建完整的图像处理、运动检测和图像分割项目。无论你是初涉计算机视觉技术,还是对其概念已有基本了解,本书都将成为你通过实例和项目掌握OpenCV概念及算法的实用指南。

本书首先介绍OpenCV的入门知识及安装,然后介绍OpenCV的基础知识,包括用户界面、矩阵运算、滤波器和直方图等,之后介绍复杂的计算机视觉算法,包括对象分割和分类、视频监控、对象跟踪等,最后探讨对象跟踪、文本识别、机器学习和人脸检测等高级技术。阅读本书之后,你将掌握常用和最新的计算机视觉技术,并学会从零开始构建各类OpenCV项目。

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

  • 在各种操作系统上安装OpenCV 4

  • 创建CMake脚本以编译C++应用程序

  • 了解基本的图像矩阵格式和滤波器

  • 探索图像分割和特征提取技术

  • 从静态场景中删除背景以识别需要监控的移动对象

  • 采用各种技术跟踪实时视频中的对象

  • 通过Tesseract进行文本检测和识别

  • 熟悉用于图像分类的重要深度学习工具

内容简介

第1章介绍在各种操作系统上的安装步骤,并介绍人类视觉系统以及计算机视觉中的各种主题。

第2章讨论如何在OpenCV中读/写图像和视频,并解释如何使用CMake构建项目。

第3章介绍如何构建图形用户界面和鼠标事件检测器,以构建交互式应用程序。

第4章探讨直方图和滤波器,并展示如何对图像进行卡通化处理。

第5章描述各种图像预处理技术,如噪声消除、阈值处理和轮廓分析。

第6章处理目标识别和机器学习,以及如何使用支持向量机来构建目标分类系统。

第7章讨论人脸检测和Haar级联,然后解释这些方法如何用于检测人脸的各个部位。

第8章探讨背景减除、视频监控和形态图像处理,并且描述它们如何相互连接。

第9章介绍如何使用不同技术跟踪实时视频中的目标,例如,基于颜色和基于特征进行跟踪。

第10章讨论光学字符识别、文本分割,并介绍Tesseract OCR引擎。

第11章深入探究Tesseract OCR引擎,解释如何将其用于文本检测、提取和识别。

第12章探讨如何使用两种常用的深度学习架构在OpenCV中应用深度学习,在这两种架构中,YOLO v3用于目标检测,而单发探测器(Single Shot Detector)用于人脸检测。

作者简介

大卫•米兰•埃斯克里瓦(David Millán Escrivá)8岁时用BASIC语言在8086 PC上编写了他的第一个程序。他在瓦伦西亚政治大学(Universitat Politécnica de Valencia)完成了他的IT学习,并在由使用OpenCV(v0.96)的计算机视觉技术所支持的人机交互领域取得了优异的成绩。他拥有人工智能、计算机图形学和模式识别硕士学位,专注于模式识别和计算机视觉。他还拥有超过9年的计算机视觉、计算机图形和模式识别经验。他是Damiles Blog的作者,在上面发表关于OpenCV、计算机视觉和光学字符识别算法的文章与教程。

维尼休斯•G.门东萨(Vinícius G. Mendon)是巴拉那天主教大学(PUCPR)的计算机图形专业教授。他于1998年开始使用C++进行编程,并于2006年进入计算机游戏和计算机图形领域。他目前是巴西Apple开发者学院(Apple Developer Academy)的导师,从事用于移动设备的金属、机器学习和计算机视觉方面的教学工作。他曾担任其他Packt图书的审校者,包括《OpenNI Cookbook》和《Mastering OpenCV and Computer Vision with OpenCV 3 and Qt5》。在他的研究中,使用了Kinect、OpenNI和OpenCV来识别巴西手语手势。他感兴趣的领域包括移动电话、OpenGL、图像处理、计算机视觉和项目管理。

普拉蒂克•乔希(Prateek Joshi)是一位人工智能研究员、8本书的作者,还是一位TEDx演讲者。他的著作曾入选Forbes 30 Under 30、CNBC、TechCrunch、Silicon Valley Business Journal等多部出版物。他是Pluto AI的创始人,Pluto AI是一家由风投资助的硅谷初创公司,为水利设施建立智能平台。他毕业于南加州大学,获得人工智能专业硕士学位。他之前曾就职于NVIDIA和Microsoft Research。

目录

前言

作者简介

审校者简介

第1章 OpenCV入门 1

1.1 了解人类视觉系统 1

1.2 人类如何理解图像内容 3

1.3 你能用OpenCV做什么 4

1.3.1 内置数据结构和输入/输出 4

1.3.2 图像处理操作 5

1.3.3 GUI 5

1.3.4 视频分析 6

1.3.5 3D重建 6

1.3.6 特征提取 7

1.3.7 对象检测 7

1.3.8 机器学习 8

1.3.9 计算摄影 8

1.3.10 形状分析 9

1.3.11 光流算法 9

1.3.12 人脸和对象识别 9

1.3.13 表面匹配 10

1.3.14 文本检测和识别 10

1.3.15 深度学习 10

1.4 安装OpenCV 10

1.4.1 Windows 11

1.4.2 Mac OS X 11

1.4.3 Linux 13

1.5 总结 14

第2章 OpenCV基础知识导论 15

2.1 技术要求 15

2.2 基本CMake配置文件 16

2.3 创建一个库 16

2.4 管理依赖项 17

2.5 让脚本更复杂 18

2.6 图像和矩阵 20

2.7 读/写图像 22

2.8 读取视频和摄像头 25

2.9 其他基本对象类型 27

2.9.1 Vec对象类型 27

2.9.2 Scalar对象类型 28

2.9.3 Point对象类型 28

2.9.4 Size对象类型 29

2.9.5 Rect对象类型 29

2.9.6 RotatedRect对象类型 29

2.10 基本矩阵运算 30

2.11 基本数据存储 32

2.12 总结 34

第3章 学习图形用户界面 35

3.1 技术要求 35

3.2 OpenCV用户界面介绍 36

3.3 OpenCV的基本图形用户界面 36

3.4 Qt图形用户界面 44

3.5 OpenGL支持 50

3.6 总结 54

第4章 深入研究直方图和滤波器 55

4.1 技术要求 56

4.2 生成CMake脚本文件 56

4.3 创建图形用户界面 57

4.4 绘制直方图 59

4.5 图像颜色均衡 62

4.6 Lomography效果 64

4.7 卡通效果 68

4.8 总结 72

第5章 自动光学检查、对象分割和检测 73

5.1 技术要求 73

5.2 隔离场景中的对象 74

5.3 为AOI创建应用程序 76

5.4 预处理输入图像 78

5.4.1 噪声消除 78

5.4.2 用光模式移除背景进行分割 79

5.4.3 阈值 84

5.5 分割输入图像 85

5.5.1 连通组件算法 85

5.5.2 findContours算法 90

5.6 总结 92

第6章 学习对象分类 94

6.1 技术要求 94

6.2 机器学习概念介绍 95

6.3 计算机视觉和机器学习工作流程 98

6.4 自动对象检查分类示例 100

6.4.1 特征提取 102

6.4.2 训练SVM模型 105

6.4.3 输入图像预测 109

6.5 总结 111

第7章 检测面部部位与覆盖面具 112

7.1 技术要求 112

7.2 了解Haar级联 112

7.3 什么是积分图像 114

7.4 在实时视频中覆盖面具 115

7.5 戴上太阳镜 118

7.6 跟踪鼻子、嘴巴和耳朵 121

7.7 总结 122

第8章 视频监控、背景建模和形态学操作 123

8.1 技术要求 123

8.2 理解背景减除 124

8.3 直接的背景减除 124

8.4 帧差分 128

8.5 高斯混合方法 131

8.6 形态学图像处理 133

8.7 使形状变细 134

8.8 使形状变粗 135

8.9 其他形态运算符 136

8.9.1 形态开口 136

8.9.2 形态闭合 137

8.9.3 绘制边界 138

8.9.4 礼帽变换 139

8.9.5 黑帽变换 140

8.10 总结 140

第9章 学习对象跟踪 141

9.1 技术要求 141

9.2 跟踪特定颜色的对象 141

9.3 构建交互式对象跟踪器 143

9.4 用Harris角点检测器检测点 148

9.5 用于跟踪的好特征 151

9.6 基于特征的跟踪 153

9.6.1 Lucas-Kanade方法 153

9.6.2 Farneback算法 157

9.7 总结 161

第10章 开发用于文本识别的分割算法 162

10.1 技术要求 162

10.2 光学字符识别介绍 162

10.3 预处理阶段 164

10.3.1 对图像进行阈值处理 164

10.3.2 文本分割 165

10.4 在你的操作系统上安装Tesseract OCR 172

10.4.1 在Windows上安装Tesseract 172

10.4.2 在Mac上安装Tesseract 173

10.5 使用Tesseract OCR库 173

10.6 总结 177

第11章 用Tesseract进行文本识别 178

11.1 技术要求 178

11.2 文本API的工作原理 179

11.2.1 场景检测问题 179

11.2.2 极值区域 180

11.2.3 极值区域过滤 181

11.3 使用文本API 182

11.3.1 文本检测 182

11.3.2 文本提取 187

11.3.3 文本识别 189

11.4 总结 193

第12章 使用OpenCV进行深度学习 194

12.1 技术要求 194

12.2 深度学习简介 195

12.2.1 什么是神经网络,我们如何从数据中学习 195

12.2.2 卷积神经网络 197

12.3 OpenCV中的深度学习 198

12.4 YOLO用于实时对象检测 199

12.4.1 YOLO v3深度学习模型架构 200

12.4.2 YOLO数据集、词汇表和模型 200

12.4.3 将YOLO导入OpenCV 201

12.5 用SSD进行人脸检测 204

12.5.1 SSD模型架构 204

12.5.2 将SSD人脸检测导入OpenCV 204

12.6 总结 208

你与世界

只差一个

公众号

新书推荐 |《OpenCV 4计算机视觉项目实战(原书第2版)》相关推荐

  1. 新书推荐 |《5G NR标准:下一代无线通信技术》

    新书推荐 <5G NR标准:下一代无线通信技术> 点击上图了解及购买 本书以3GPP 2018年9月制定的R15版5G商用标准为基础,详解5G NR标准技术规范和成因 ,爱立信5G标准专家 ...

  2. 5G NR 标准:下一代无线通信技术

    昨天有一篇混子曰的文章,用通俗易懂的漫画方式为大家讲解了5G到底是什么东西,经过翻阅文章,我们也了解了一二,但是你只表面的知道了5G这个概念,但是深入的话还是没有了解,所以下面将继续讲5G技术规范NR ...

  3. 5G NR标准 第1章 什么是5G

    5G NR标准 第1章 5G概述 在过去的40年里,全球已经经历了四代移动通信(如图1.1) 第一代移动通信是在1980年左右出现的,以模拟传输为基础,主要技术是北美开发的AMPS (Advanced ...

  4. 5G NR标准 第5章 NR概览

    5G NR标准 第5章 NR概览 图5.1概述了3GPP中NR开发的时间表. 基于3GPP版本14的研究项目,NR的技术工作于2016年春季启动,该项目基于2015年秋季的启动研讨会.在研究项目阶段, ...

  5. 5G NR标准 第4章 LTE概述

    5G NR标准 第4章 LTE概述 LTE的工作始于2004年底,其总体目标是提供一种仅关注分组交换数据的新型无线接入技术. LTE规范的第一个版本,即第8版,已于2008年完成,商业网络的运营于20 ...

  6. 5G NR标准 第3章 5G频谱

    5G NR标准 第3章 5G频谱 3.1 移动系统的频谱 不同频率的频带具有不同的特性. 由于传播特性,较低频率的频段非常适合在城市,郊区和乡村环境中进行广域覆盖部署. 较高频率的传播特性使它们更难用 ...

  7. 《5G NR标准:下一代无线通信技术》读书笔记——NR概述

    目录 二.NR概述 1.与LTE相比,NR好处 2.高频操作和频谱灵活性 3.极简设计 4.向前兼容 5.传输方案/部分带宽和帧结构 6.双工方式 7.低时延支持 8.调度和数据传输 9.控制信道 1 ...

  8. 《5G NR标准:下一代无线通信技术》读书笔记——LTE概述

    目录 一.LTE概述 1.频谱灵活性 1.1载波聚合 1.2授权辅助接入 2.多天线增强 2.1扩展的多天线传输 2.2多点协作和传输 2.3增强的控制信道结构 3.密集度.微蜂窝和异构部署 3.1中 ...

  9. 5G NR标准: 第20章 5G的演进

    第20章 5G的演进 NR 的第一个版本,第 15 版,侧重于对 eMBB 的基本支持,在某种程度上,URLLC.1 如前几章所述,第 15 版是为即将发布的 NR 未来发展构建的基础 . NR 演进 ...

  10. 5G NR标准 第13章 重传协议

    第13章 重传协议 通过无线信道的传输容易出错,例如,由于接收信号质量的变化. 在某种程度上,这种变化可以通过第 14 章中讨论的链路适配来抵消.但是,接收机噪声和不可预测的干扰变化无法抵消. 因此, ...

最新文章

  1. 10月第1周中国.COM域名增1万个 涨幅环比缩小82%
  2. Expected a key while parsing a block mapping. assets: ^
  3. 美女DBA带你了解PostgreSQL用户及角色
  4. Webpack:代码分割
  5. 入侵感知系列之弱口令检测思路
  6. [BZOJ4523]路由表
  7. 计算机组成原理试题库10,计算机组成原理试题10
  8. 没有IOMMU的DMA操作
  9. 2004-2020年数学建模美赛O奖论文合集(免费)
  10. 【Python函数优化】
  11. win10蓝牙怎么开_摩托罗拉对讲机蓝牙写频方法
  12. Word在试图打开文件时遇到错误——Word文档需要右键属性接触锁定的一次性解决方法
  13. 图像滤镜艺术---乐高像素拼图特效
  14. 年薪百万不如狗?深圳的程序员才是买房界的黑天鹅!
  15. 一个农村博士的独白:全家为什么只有我读到了博士?
  16. radmin配置说明
  17. php sapi 那些坑,安装PHP出现make: *** [sapi/cli/php] Error 1 解决办法
  18. 红米手机5A怎么卡刷开发版获取Root权限
  19. 电脑重装:微PE工具箱重装win10系统
  20. Go按多组id数组出现次数,由多到少排序并去重,输出权重id数组

热门文章

  1. View自定义系列:最全面贝塞尔曲线详解
  2. mysql存储过程 limit_mysql存储过程 limit
  3. php 图片程序分离,一个图片地址分解程序(用于PHP小偷程序),
  4. 【i.MX6ULL】驱动开发2——新字符设备开发模板
  5. 使用Threejs加载模型1
  6. IEEE会员级别和编制
  7. 精品素材插件大合集,惊艳级别的素材资源
  8. 腕表珠宝成为女性跨境消费新晋宠儿;爱彼迎全球约55%的新增房东为女性 | 美通企业日报...
  9. tqdm显示逐行读取文件并处理
  10. ubuntu下安装pig