第 1 章 开发环境 OpenCV 入门 …………………………………………………………… 1
1.1 安装与配置 OpenCV ……………………………………………………………… 2
1.2 图像读 / 写的基本操作 …………………………………………………………… 4
1.2.1 读取图像 …………………………………………………………………… 4
1.2.2 显示图像 …………………………………………………………………… 4
1.2.3 保存图像 …………………………………………………………………… 7
1.2.4 查看图像属性 ……………………………………………………………… 8
1.3 OpenCV 贡献库 …………………………………………………………………… 8
思考与练习………………………………………………………………………………… 9
第 2 章? 图像处理基础 …………………………………………………………………… 10
2.1 图像的获取及基本表示方法 …………………………………………………… 10
2.2 图像处理中的 NumPy 简介 ……………………………………………………… 12
2.3 像素处理 ………………………………………………………………………… 15
2.4 使用 NumPy 访问像素 …………………………………………………………… 22
思考与练习……………………………………………………………………………… 25
第 3 章? 图像运算 ………………………………………………………………………… 26
3.1 图像加减运算 …………………………………………………………………… 26
3.2 图像混合 ………………………………………………………………………… 29
3.3 图像按位逻辑运算 ……………………………………………………………… 30
3.3.1 按位与运算 ……………………………………………………………… 30
3.3.2 按位或运算 ……………………………………………………………… 31
3.3.3 按位非(取反)运算 …………………………………………………… 32
3.3.4 按位异或运算 …………………………………………………………… 33
3.4 掩模 ……………………………………………………………………………… 34
3.5 图像加密、解密 ………………………………………………………………… 35
思考与练习……………………………………………………………………………… 37
第 4 章? 色彩空间转换 …………………………………………………………………… 38
4.1 GRAY 色彩空间 ………………………………………………………………… 38
4.2 XYZ 色彩空间 …………………………………………………………………… 39
4.3 YCrCb 色彩空间 ………………………………………………………………… 39
4.4 HSV 色彩空间 …………………………………………………………………… 39
4.5 标记指定颜色 …………………………………………………………………… 42
思考与练习……………………………………………………………………………… 43
第 5 章? 图像几何变换 …………………………………………………………………… 44
5.1 缩放 ……………………………………………………………………………… 44
5.2 翻转 ……………………………………………………………………………… 46
5.3 仿射变换 ………………………………………………………………………… 47
5.3.1 平移 ……………………………………………………………………… 47
5.3.2 旋转 ……………………………………………………………………… 48
5.3.3 复杂的仿射变换 ………………………………………………………… 49
5.4 透视 ……………………………………………………………………………… 51
思考与练习……………………………………………………………………………… 52
第 6 章? 图像滤波 ………………………………………………………………………… 53
6.1 均值滤波 ………………………………………………………………………… 53
6.2 高斯滤波 ………………………………………………………………………… 55
6.3 中值滤波 ………………………………………………………………………… 57
6.4 2D 卷积 …………………………………………………………………………… 59
思考与练习……………………………………………………………………………… 60
第 7 章? 图像梯度 ………………………………………………………………………… 61
7.1 Sobel 算子及函数 ………………………………………………………………… 61
7.2 Scharr 算子及函数 ……………………………………………………………… 64
7.3 Laplacian 算子及函数 …………………………………………………………… 66
思考与练习……………………………………………………………………………… 68
第 8 章? 图像的直方图处理 ……………………………………………………………… 69
8.1 直方图的含义 …………………………………………………………………… 69
8.2 绘制直方图 ……………………………………………………………………… 70
8.2.1 使用 Matplotlib 和 NumPy 绘制直方图 ………………………………… 70
8.2.2 使用 OpenCV 绘制直方图 ……………………………………………… 72
8.2.3 彩色图像直方图 ………………………………………………………… 73
8.3 直方图均衡化 …………………………………………………………………… 73
思考与练习……………………………………………………………………………… 76
第 9 章? 绘制图形 ………………………………………………………………………… 77
9.1 绘制直线 ………………………………………………………………………… 77
9.2 绘制矩形 ………………………………………………………………………… 78
9.3 绘制圆形 ………………………………………………………………………… 79
9.4 绘制椭圆形 ……………………………………………………………………… 80
9.5 绘制多边形 ……………………………………………………………………… 81
9.6 在图像内添加(绘制)文字 …………………………………………………… 83
思考与练习……………………………………………………………………………… 84
第 10 章? 图像金字塔 ……………………………………………………………………… 85
10.1 图像金字塔简介 ………………………………………………………………… 85
10.2 cv2.pyrDown() 函数及使用 …………………………………………………… 87
10.3 cv2.pyrUp() 函数及使用………………………………………………………… 88
10.4 拉普拉斯金字塔 ………………………………………………………………… 90
思考与练习……………………………………………………………………………… 93
第 11 章? 图像特征检测算法 ……………………………………………………………… 94
11.1 Harris 角点检测 ………………………………………………………………… 94
11.2 SIFT 特征 ……………………………………………………………………… 96
11.3 SURF 特征 ……………………………………………………………………… 99
11.4 FAST 角点检测算法 …………………………………………………………… 103
11.5 BRIEF 描述符 …………………………………………………………………… 105
11.6 ORB 特征匹配 ………………………………………………………………… 107
思考与练习……………………………………………………………………………… 109
第 12 章? 人脸检测与人脸识别 …………………………………………………………… 110
12.1 人脸检测 ………………………………………………………………………… 110
12.1.1 级联分类器 ……………………………………………………………… 110
12.1.2 Haar 级联的概念………………………………………………………… 111
12.1.3 获取级联数据 …………………………………………………………… 113
12.2 人脸识别 ………………………………………………………………………… 115
思考与练习……………………………………………………………………………… 119
第 13 章? 目标检测与识别 ………………………………………………………………… 120
思考与练习……………………………………………………………………………… 125
第 14 章? 网络图像采集 …………………………………………………………………… 126
14.1 网络爬虫的工作流程 …………………………………………………………… 126
14.2 数据抓取的实现 ………………………………………………………………… 127
14.2.1 urllib 的使用 …………………………………………………………… 127
14.2.2 requests 的使用 ………………………………………………………… 131
14.2.3 BeautifulSoup 解析数据 ………………………………………………… 132
思考与练习……………………………………………………………………………… 134
第 15 章? 图像数据标注 …………………………………………………………………… 135
15.1 LabelMe 的安装和使用 ………………………………………………………… 137
15.2 分类标注 ………………………………………………………………………… 138
15.3 标框标注 ………………………………………………………………………… 140
15.4 区域标注 ………………………………………………………………………… 142
思考与练习……………………………………………………………………………… 145
第 16 章? 视频处理 ………………………………………………………………………… 146
16.1 cv2.VideoCapture 类 …………………………………………………………… 146
16.1.1 类函数介绍 ……………………………………………………………… 146
16.1.2 捕获摄像头视频 ………………………………………………………… 148
16.2 cv2.VideoWriter 类 ……………………………………………………………… 149
16.3 保存视频 ………………………………………………………………………… 151
思考与练习……………………………………………………………………………… 152
展开