本书使用Python语言,以OpenCV源码结构中的模块为章节,系统地介绍了OpenCV在图像处理和计算机视觉领域的应用。本书第1章主要介绍OpenCV的源码,以及开发环境的搭建和使用源码方式的编译技巧;第2~14章主要介绍OpenCV的各个模块,包括模块导读,以及模块中重点算法使用案例的讲解,并在章节的最后提供了相应的进阶知识。本书以OpenCV源码结构的方式讲解,一方面可以让读者深入了解OpenCV软件及相应的源码,另一方面可以加深读者对软件的透彻理解。初学者可以参考本书前6章系统地学习图像处理应用,特别是第4章和第5章,因为经典的图像处理算法基本上都封装在imgproc模块中;对于其他特殊需求,可以参考对应章节,如与特征点相关的知识可以参考第10章,与机器学习和深度学习相关的知识可以分别参考第13章和第14章。
作者简介
内容简介
前言
第1章 OpenCV快速入门
1.1 OpenCV介绍
1.2 OpenCV开发环境搭建
1.3 OpenCV模块介绍
1.4 OpenCV源码编译
1.5 进阶必备:OpenCV入门参考
第2章 图像读/写模块imgcodecs
2.1 模块导读
2.2 图像读/写操作
2.3 图像编/解码
2.4 进阶必备:聊聊图像格式
第3章 核心库模块core
3.1 模块导读
3.2 基本数据结构
3.3 矩阵运算
3.4 矩阵变换
3.5 进阶必备:聊聊图像像素遍历与应用
第4章 图像处理模块imgproc(一)
4.1 模块导读
4.2 案例30:颜色空间变换
4.3 案例31:图像尺寸变换
4.4 基本绘制
4.5 形态学运算
4.6 图像滤波
4.7 边缘检测
4.8 进阶必备:聊聊颜色模型
第5章 图像处理模块imgproc(二)
5.1 霍夫变换
5.2 案例52:仿射变换
5.3 案例53:透视变换
5.4 案例54:重映射
5.5 阈值化
5.6 图像金字塔
5.7 直方图
5.8 传统图像分割
5.9 角点检测
5.10 图像轮廓
5.11 轮廓包裹
5.12 案例72:多边形填充
5.13 图像拟合
5.14 案例76:凸包检测
5.15 进阶必备:图像处理算法概述
第6章 可视化模块highgui
6.1 模块导读
6.2 图像窗口
6.3 图像操作
6.4 案例81:键盘操作
6.5 案例82:鼠标操作
6.6 案例83:进度条操作
6.7 进阶必备:在Qt中使用OpenCV
第7章 视频处理模块videoio
7.1 模块导读
7.2 视频读取
7.3 视频保存
7.4 进阶必备:视频编/解码工具FFMPEG
第8章 视频分析模块video
8.1 运动分析
8.2 目标跟踪
8.3 进阶必备:深度学习光流算法
第9章 照片处理模块photo
9.1 模块导读
9.2 案例93:基于OpenCV的无缝克隆
9.3 案例94:基于OpenCV的图像对比度保留脱色
9.4 案例95:基于OpenCV的图像修复
9.5 案例96:基于OpenCV的HDR成像
9.6 图像非真实感渲染
9.7 进阶必备:照片处理算法概述
第10章 2D特征模块features2d
10.1 模块导读
10.2 特征点检测
10.3 特征点匹配
10.4 进阶必备:特征点检测算法概述
第11章 相机标定与三维重建模块calib3d
11.1 模块导读
11.2 单应性变换
11.3 相机标定
11.4 进阶必备:聊聊镜头失真
第12章 传统目标检测模块objdetect
12.1 模块导读
12.2 级联分类器的应用
12.3 案例117:HOG描述符行人检测
12.4 二维码应用
12.5 进阶必备:聊聊条形码与二维码
第13章 机器学习模块ml
13.1 模块导读
13.2 案例120:基于OpenCV的Logistic回归
13.3 案例121:基于OpenCV的支持向量机
13.4 案例122:基于OpenCV的主成分分析
13.5 进阶必备:机器学习算法概述
第14章 深度学习模块dnn
14.1 模块导读
14.2 风格迁移
14.3 图像分类
14.4 目标检测
14.5 图像超分
14.6 进阶必备:OpenCV与计算机视觉

