编辑推荐

OpenCV是*常见的计算机视觉库之一,它提供了许多经过优化的复杂算法,而且几乎可以兼容所有的平台。《OpenCV实例精解》首先讲解OpenCV的安装和基本处理过程,然后带领你从零开始建立诸如视频流分析或文字识别等复杂场景的OpenCV项目。

通过对《OpenCV实例精解》的学习,你将熟悉OpenCV的基本知识,如矩阵运算、过滤器和直方图,以及更高级的概念,如分割、机器学习、复杂的视频分析和文字识别。

通过阅读《OpenCV实例精解》,你将学到:
OpenCV3的安装
创建所需的CMake脚本、编译C++应用程序和管理其依赖关系
理解计算机视觉的工作流程、基础图像矩阵格式和过滤器
理解图像分割和特征提取技术
从静态场景中移除背景来识别视频监控的移动对象
在直播视频中使用各种不同的技术,探测不同物体
使用Tesseract进行文本探测与识别

内容简介

OpenCV是一个开源的计算机视觉库,在计算机视觉的开发中扮演着重要的角色。它为计算机视觉应用开发提供了灵活、功能强大的开发接口,使其成为计算机视觉专业人员所依赖的重要开发工具。
OpenCV实例精解》首先介绍计算机视觉中的各个领域和在C++中相关的OpenCV功能。每个章节都包含真实世界的例子和示例代码,可以帮助你轻松地掌握主题,并了解它们在现实生活中的应用。《OpenCV实例精解》自始至终都在力争使用简洁的语言、清晰的格式以及实践性很强的示例项目来教你如何在C++中使用OpenCV,并建立各种应用程序。
无论你是对计算机视觉一无所知,还是对此已有基本的了解,《OpenCV实例精解》都将通过一些真实世界的例子和项目来引导你理解OpenCV的概念和算法。

作者简介

PrateekJoshi计算机视觉专家,曾任职于NVIDIA、微软、高通等公司,其研究方向为基于内容的分析和深度学习。他在计算机视觉领域已经斩获多个专利,也赢得过很多关于图像识别技术的编程比赛。他还是《OpenCVwithPythonByExample》一书的作者。

DavidMillanEscriva;有超过13年的IT工作经验和9年以上的计算机视觉领域从业经验,在不同的项目和初创企业工作过,并一直在工作中运用计算机视觉、光学字符识别、图像识别方面的知识。他是DamilesBlog(http://blog.damiles.com)的作者,还是《MasteringOpenCVwithPracticalComputerVisionProjectsBook》一书的合著者。

ViniciusGodoy PUCPR的计算机图形学教授、Blackmuppet公司的联合创始人。他感兴趣的领域包括图像处理、设计模式和多线程应用程序。

目录

译者序
前言
第1章 OpenCV的探险之旅1
1.1 理解人类视觉系统1
1.2 人类是怎么理解图像内容的3
1.3 OpenCV可以做什么4
1.4 安装OpenCV11
1.5 总结14
第2章 OpenCV基础知识介绍15
2.1 CMake基本配置文件15
2.2 创建库16
2.3 管理依赖关系17
2.4 脚本复杂化19
2.5 图像和矩阵21
2.6 读写图像23
2.7 读取视频和摄像头27
2.8 其他基本对象类型30
2.9 矩阵的基本运算33
2.10 基本数据持久性和存储36
2.11 总结38
第3章 图形用户界面和基本滤波39
3.1 介绍OpenCV的用户界面39
3.2 使用OpenCV实现基本图形用户界面40
3.3 QT的图形用户界面45
3.4 在界面上添加滑动条和鼠标事件47
3.5 在用户界面上添加按钮51
3.6 支持OpenGL55
3.7 总结60
第4章 深入研究直方图和滤波器61
4.1 生成CMake脚本文件62
4.2 创建图形用户界面63
4.3 绘制直方图65
4.4 图像色彩均衡化69
4.5 LOMO效果71
4.6 卡通效果76
4.7 总结80
第5章 自动光学检测、目标分割和检测81
5.1 隔离场景中的目标82
5.2 创建AOI应用程序84
5.3 输入图像的预处理86
5.4 分割输入图像92
5.5 总结101
第6章 学习目标分类102
6.1 介绍机器学习的概念103
6.2 计算机视觉和机器学习的工作流程106
6.3 自动检测目标分类的示例108
6.4 特征提取110
6.5 总结120
第7章 识别人脸部分并覆盖面具121
7.1 理解Haar级联121
7.2 积分图123
7.3 在实时视频中覆盖上面具124
7.4 戴上太阳镜127
7.5 跟踪鼻子、嘴和耳朵130
7.6 总结131
第8章 视频监控、背景建模和形态学操作132
8.1 理解背景差分132
8.2 简单背景差分法133
8.3 帧差值法137
8.4 混合高斯方法141
8.5 形态学图像操作144
8.6 图像细化145
8.7 图像加粗146
8.8 其他形态学运算147
8.9 总结152
第9章 学习对象跟踪153
9.1 跟踪特定颜色的对象153
9.2 建立交互式对象跟踪器156
9.3 使用Harris角点检测器检测点161
9.4 Shi-Tomasi角点检测器163
9.5 基于特征的跟踪166
9.6 总结175
第10章 文本识别中的分割算法176
10.1 OCR简介176
10.2 预处理步骤178
10.3 在你的操作系统上安装TesseractOCR186
10.4 使用TesseractOCR库190
10.5 总结195
第11章 使用Tesseract识别文本196
11.1 文本识别API工作原理196
11.2 使用文本识别API200
11.3 总结212

前言/序言

  OpenCV是开发计算机视觉应用最流行的库之一。它使我们能够实时运行许多不同的计算机视觉算法。它已经存在了很多年,并成为这个领域的标准库。OpenCV的主要优点之一是它的高度优化和几乎可以在所有平台上兼容。

  《OpenCV实例精解》首先介绍了计算机视觉中的各个领域和在C++中相关的OpenCV功能。每章都包含真实世界的例子和示例代码帮助你轻松地掌握主题,并了解它们在现实生活中的应用。总之,《OpenCV实例精解》是一部实用指南,会教你如何在C++中使用OpenCV,并建立各种应用程序。

  《OpenCV实例精解》的主要内容  第1章涵盖各种操作系统的安装步骤,介绍了人类视觉系统,以及计算机视觉中的各种主要内容。

  第2章讨论如何在OpenCV中读/写图像和视频,并且介绍如何使用CMake建立一个项目。

  第3章介绍如何通过创建一个图形用户界面和鼠标事件检测器来实现交互式应用程序。

  第4章探讨直方图和滤波器,也演示了如何卡通化图像。

  第5章描述了各种图像的预处理技术,如去除噪声、阈值化,以及轮廓分析。

  第6章处理对象识别和机器学习,并学习如何使用支持向量机建立一个对象分类系统。

  第7章讨论了人脸检测和Haar级联,并解释如何使用这些方法来检测人脸的各个部分。

  第8章探索背景差分、视频监控和形态学图像操作,并描述了它们如何彼此关联。

  第9章介绍如何使用不同的技术跟踪对象,如基于颜色和基于特征。

  第10章介绍光学字符识别、文本分割和TesseractOCR引擎。

  第11章深入研究TesseractOCR引擎,介绍如何将它应用于文本检测、提取和识别。

  你需要准备什么  《OpenCV实例精解》的例子会用到以下技术:

  OpenCV3.0或更新的版本  CMake3.3.x或更新的版本  Tesseract  Leptonica(Tesseract依赖包).  QT(可选)  OpenGL(可选)  相关章节提供了详细的安装说明。

  《OpenCV实例精解》的读者对象  《OpenCV实例精解》面向OpenCV初学者,以及希望在C++中使用OpenCV进行计算机视觉应用开发的开发人员。懂得C++的基础知识将有助于理解《OpenCV实例精解》。《OpenCV实例精解》对于想要开始学习计算机视觉,并了解基本概念的人来说同样适用。他们应该知道基本的数学概念,如向量、矩阵、矩阵乘法,等等,这样才能最大限度地利用《OpenCV实例精解》。在阅读《OpenCV实例精解》的过程中,你将从头学习如何使用OpenCV创建各种计算机视觉应用。

  下载示例代码  可登录http://www.hzbook.com,下载《OpenCV实例精解》示例代码。


其他推荐