当前位置: 首页 > news >正文

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

新书推荐

《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

你与世界

只差一个

公众号

相关文章:

  • 一文看懂用R语言读取Excel、PDF和JSON文件(附代码)
  • 新书推荐 |《好设计,有方法:我们在搜狐做产品体验设计》
  • 新书推荐 |《广告数据定量分析:如何成为一位厉害的广告优化师》
  • 用Python给女友准备个绝对甜蜜的七夕礼物
  • 新书推荐 |《机器学习即服务:将Python机器学习创意快速转变为云端Web应用程序》...
  • 搞定这个月薪50K的AI热门领域,看这9本书就够了
  • 新书推荐 |《强化学习:原理与Python实现》
  • 智能生产之路(一):从计算机集成制造到精益生产再到工业 4.0
  • 这是一份所有人都适用的DevOps书单
  • 新书推荐 |《TensorFlow机器学习实战指南(原书第2版)》
  • CIC 2019 回顾:行业洞察与数字化转型的未来
  • 新书推荐 |《区块链工程实践:行业解决方案与关键技术》
  • 如何打造高质量的NLP数据集
  • 新书推荐 |《Linux系统安全:纵深防御、安全扫描与入侵检测》
  • 我一个二本大学是如何拿到百度、网易大厂offer的!
  • create-react-app做的留言板
  • egg(89)--egg之redis的发布和订阅
  • Elasticsearch 参考指南(升级前重新索引)
  • exports和module.exports
  • MySQL的数据类型
  • node和express搭建代理服务器(源码)
  • SAP云平台里Global Account和Sub Account的关系
  • ⭐ Unity 开发bug —— 打包后shader失效或者bug (我这里用Shader做两张图片的合并发现了问题)
  • 安卓应用性能调试和优化经验分享
  • 大主子表关联的性能优化方法
  • 高程读书笔记 第六章 面向对象程序设计
  • 【干货分享】dos命令大全
  • hi-nginx-1.3.4编译安装
  • 如何正确理解,内页权重高于首页?
  • ​secrets --- 生成管理密码的安全随机数​
  • ​TypeScript都不会用,也敢说会前端?
  • ​比特币大跌的 2 个原因
  • ​创新驱动,边缘计算领袖:亚马逊云科技海外服务器服务再进化
  • #etcd#安装时出错
  • #微信小程序(布局、渲染层基础知识)
  • (2020)Java后端开发----(面试题和笔试题)
  • (30)数组元素和与数字和的绝对差
  • (4)事件处理——(7)简单事件(Simple events)
  • (C++)八皇后问题
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第5节(封闭类和Final方法)
  • (二)丶RabbitMQ的六大核心
  • (简单有案例)前端实现主题切换、动态换肤的两种简单方式
  • (区间dp) (经典例题) 石子合并
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • (原創) 如何將struct塞進vector? (C/C++) (STL)
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • (转)C#调用WebService 基础
  • (转)Oracle 9i 数据库设计指引全集(1)
  • .net CHARTING图表控件下载地址
  • .net mvc 获取url中controller和action
  • .Net转Java自学之路—SpringMVC框架篇六(异常处理)
  • @取消转义
  • @软考考生,这份软考高分攻略你须知道
  • [acwing周赛复盘] 第 69 场周赛20220917
  • [AIGC] Java 和 Kotlin 的区别