第 1章 图像处理与变换 1
1.1 技术要求 1
1.2 变换颜色空间(RGB→Lab) 2
1.2.1 准备工作 2
1.2.2 执行步骤 2
1.2.3 工作原理 4
1.2.4 更多实践 4
1.3 应用仿射变换 4
1.3.1 准备工作 5
1.3.2 执行步骤 5
1.3.3 工作原理 6
1.3.4 更多实践 7
1.4 应用透视变换和单应性变换 7
1.4.1 准备工作 8
1.4.2 执行步骤 8
1.4.3 工作原理 10
1.4.4 更多实践 11
1.5 基于图像创建铅笔草图 11
1.5.1 准备工作 11
1.5.2 执行步骤 11
1.5.3 工作原理 13
1.5.4 更多实践 14
1.6 创建卡通图像 14
1.6.1 准备工作 15
1.6.2 执行步骤 15
1.6.3 工作原理 16
1.6.4 更多实践 17
1.7 模拟光艺术/长曝光 17
1.7.1 准备工作 17
1.7.2 执行步骤 17
1.7.3 工作原理 19
1.7.4 更多实践 19
1.8 在HSV颜色模型中使用颜色进行目标检测 21
1.8.1 准备工作 21
1.8.2 执行步骤 21
1.8.3 工作原理 22
第 2章 图像增强 24
2.1 使用滤波器去除图像中不同类型的噪声 24
2.1.1 准备工作 24
2.1.2 执行步骤 25
2.1.3 工作原理 26
2.1.4 更多实践 28
2.2 基于去噪自编码器的图像去噪 28
2.2.1 准备工作 28
2.2.2 执行步骤 28
2.2.3 工作原理 31
2.2.4 更多实践 32
2.3 基于PCA/DFT/DWT的图像去噪 33
2.3.1 准备工作 33
2.3.2 执行步骤 33
2.3.3 工作原理 35
2.3.4 更多实践 36
2.4 基于各向异性扩散的图像去噪 36
2.4.1 准备工作 36
2.4.2 执行步骤 36
2.4.3 工作原理 38
2.4.4 更多实践 38
2.5 利用直方图均衡化改善图像对比度 38
2.5.1 准备工作 39
2.5.2 执行步骤 39
2.5.3 更多实践 41
2.6 执行直方图匹配 41
2.6.1 准备工作 41
2.6.2 执行步骤 42
2.6.3 工作原理 43
2.6.4 更多实践 44
2.7 执行梯度融合 45
2.7.1 准备工作 45
2.7.2 执行步骤 46
2.8 基于Canny、LoG/零交叉以及小波的边缘检测 47
2.8.1 准备工作 47
2.8.2 执行步骤 48
2.8.3 工作原理 52
2.8.4 更多实践 53
第3章 图像修复 54
3.1 使用维纳滤波器来修复图像 55
3.1.1 准备工作 55
3.1.2 执行步骤 55
3.2 使用约束小二乘法滤波器来修复图像 58
3.2.1 准备工作 58
3.2.2 执行步骤 59
3.2.3 工作原理 62
3.2.4 更多实践 62
3.3 使用马尔可夫随机场来修复图像 63
3.3.1 准备工作 64
3.3.2 执行步骤 64
3.3.3 工作原理 66
3.4 图像修补 67
3.4.1 准备工作 68
3.4.2 执行步骤 68
3.4.3 工作原理 68
3.4.4 更多实践 70
3.5 基于深度学习的图像修复 71
3.5.1 准备工作 72
3.5.2 执行步骤 72
3.5.3 更多实践 74
3.6 基于字典学习的图像修复 75
3.6.1 准备工作 75
3.6.2 执行步骤 75
3.6.3 更多实践 78
3.7 使用小波进行图像压缩 79
3.7.1 准备工作 80
3.7.2 执行步骤 80
3.7.3 工作原理 81
3.8 使用隐写术和隐写分析技术 82
3.8.1 准备工作 83
3.8.2 执行步骤 83
3.8.3 工作原理 86
3.8.4 更多实践 86
第4章 二值图像处理 87
4.1 对二值图像应用形态学运算 87
4.1.1 准备工作 88
4.1.2 执行步骤 88
4.1.3 工作原理 90
4.1.4 更多实践 92
4.2 应用形态学滤波器 93
4.2.1 准备工作 94
4.2.2 执行步骤 94
4.2.3 工作原理 100
4.2.4 更多实践 100
4.3 形态模式匹配 102
4.3.1 准备工作 102
4.3.2 执行步骤 103
4.3.3 工作原理 105
4.3.4 更多实践 106
4.4 基于形态学的图像分割 106
4.4.1 准备工作 107
4.4.2 执行步骤 107
4.4.3 工作原理 111
4.4.4 更多实践 112
4.5 对象计数 113
4.5.1 准备工作 113
4.5.2 执行步骤 113
4.5.3 工作原理 115
4.5.4 更多实践 116
第5章 图像配准 117
5.1 基于SimpleITK模块的医学图像配准 117
5.1.1 准备工作 118
5.1.2 执行步骤 118
5.1.3 工作原理 121
5.1.4 更多实践 121
5.2 使用ECC算法进行图像对齐和变形 123
5.2.1 准备工作 123
5.2.2 执行步骤 124
5.2.3 工作原理 126
5.2.4 更多实践 127
5.3 使用dlib库进行人脸对齐 127
5.3.1 准备工作 128
5.3.2 执行步骤 128
5.3.3 工作原理 130
5.3.4 更多实践 130
5.4 RANSAC算法的鲁棒匹配和单应性 132
5.4.1 准备工作 132
5.4.2 执行步骤 133
5.4.3 工作原理 134
5.5 图像拼接(全景) 135
5.5.1 准备工作 136
5.5.2 执行步骤 136
5.5.3 工作原理 142
5.5.4 更多实践 142
5.6 人脸变形 142
5.6.1 准备工作 143
5.6.2 执行步骤 143
5.6.3 工作原理 149
5.6.4 更多实践 149
5.7 实现图像搜索引擎 150
5.7.1 准备工作 150
5.7.2 执行步骤 150
5.7.3 更多实践 158
第6章 图像分割 159
6.1 使用Otsu和Riddler-Calvard的阈值化进行图像分割 159
6.1.1 准备工作 160
6.1.2 执行步骤 160
6.1.3 工作原理 161
6.1.4 更多实践 161
6.2 使用自组织映射进行图像分割 162
6.2.1 准备工作 163
6.2.2 执行步骤 163
6.2.3 工作原理 166
6.2.4 更多实践 166
6.3 使用scikit-image进行随机游走图像分割 168
6.3.1 准备工作 168
6.3.2 执行步骤 169
6.3.3 工作原理 170
6.3.4 更多实践 171
6.4 使用GMM-EM算法进行人体皮肤的图像分割 171
6.4.1 准备工作 172
6.4.2 执行步骤 173
6.4.3 工作原理 175
6.5 医学图像分割 176
6.5.1 准备工作 176
6.5.2 执行步骤 176
6.5.3 工作原理 182
6.5.4 更多实践 183
6.6 深度语义分割 184
6.6.1 准备工作 185
6.6.2 执行步骤 185
6.7 深度实例分割 190
6.7.1 准备工作 191
6.7.2 执行步骤 192
6.7.3 工作原理 194
第7章 图像分类 195
7.1 使用scikit-learn库对图像进行分类(方向梯度直方图和逻辑回归) 196
7.1.1 准备工作 196
7.1.2 执行步骤 197
7.1.3 工作原理 200
7.1.4 更多实践 202
7.2 使用Gabor滤波器组对纹理进行分类 202
7.2.1 准备工作 203
7.2.2 执行步骤 203
7.2.3 工作原理 206
7.2.4 更多实践 207
7.3 使用VGG19/Inception V3/MobileNet/ResNet101(基于PyTorch库)
对图像进行分类 207
7.3.1 准备工作 208
7.3.2 执行步骤 208
7.3.3 工作原理 210
7.3.4 更多实践 212
7.4 图像分类的微调(使用迁移学习) 212
7.4.1 准备工作 213
7.4.2 执行步骤 214
7.4.3 工作原理 217
7.4.4 更多实践 218
7.5 使用深度学习模型对交通标志进行分类(基于PyTorch库) 219
7.5.1 准备工作 219
7.5.2 执行步骤 219
7.5.3 工作原理 226
7.5.4 更多实践 227
7.6 使用深度学习实现人体姿势估计 227
7.6.1 准备工作 228
7.6.2 执行步骤 228
7.6.3 工作原理 231
第8章 图像中的目标检测 232
8.1 基于HOG/SVM的目标检测 232
8.1.1 准备工作 234
8.1.2 执行步骤 234
8.1.3 工作原理 236
8.1.4 更多实践 237
8.2 基于YOLO v3的目标检测 237
8.2.1 准备工作 238
8.2.2 执行步骤 238
8.2.3 工作原理 241
8.2.4 更多实践 242
8.3 基于Faster R-CNN的目标检测 242
8.3.1 准备工作 243
8.3.2 执行步骤 243
8.3.3 工作原理 245
8.3.4 更多实践 246
8.4 基于Mask R-CNN的目标检测 246
8.4.1 准备工作 247
8.4.2 执行步骤 247
8.4.3 工作原理 250
8.4.4 更多实践 250
8.5 基于Python-OpenCV的多目标跟踪 250
8.5.1 准备工作 251
8.5.2 执行步骤 251
8.5.3 工作原理 253
8.5.4 更多实践 253
8.6 使用EAST/Tesseract来检测/识别图像中的文本 253
8.6.1 准备工作 255
8.6.2 执行步骤 255
8.6.3 工作原理 257
8.7 使用 Viola-Jones/Haar特征进行人脸检测 258
8.7.1 准备工作 258
8.7.2 执行步骤 258
8.7.3 工作原理 259
8.7.4 更多实践 260
第9章 人脸识别、图像描述及其他技术 261
9.1 使用FaceNet进行人脸识别 261
9.1.1 准备工作 262
9.1.2 执行步骤 263
9.1.3 工作原理 267
9.2 使用深度学习模型来识别年龄、性别和情绪 268
9.2.1 准备工作 268
9.2.2 执行步骤 269
9.2.3 更多实践 270
9.3 使用深度学习模型进行图像着色 270
9.3.1 准备工作 271
9.3.2 执行步骤 271
9.4 使用卷积神经网络和长短期记忆自动生成图像字幕 273
9.4.1 准备工作 274
9.4.2 执行步骤 274
9.4.3 工作原理 275
9.5 使用GAN生成图像 276
9.5.1 准备工作 277
9.5.2 执行步骤 278
9.5.3 工作原理 283
9.5.4 更多实践 284
9.6 使用变分自编码器重建并生成图像 284
9.6.1 准备工作 285
9.6.2 执行步骤 285
9.6.3 更多实践 290
9.7 使用受限玻耳兹曼机重建孟加拉语MNIST图像 291
9.7.1 准备工作 292
9.7.2 执行步骤 292