章图像处理入门1
1.1什么是图像处理及图像处理的应用2
1.1.1什么是图像以及图像是如何存储的2
1.1.2什么是图像处理4
1.1.3图像处理的应用4
1.2图像处理流程4
1.3在Python中安装不同的图像处理库6
1.3.1安装pip6
1.3.2在Python中安装图像处理库6
1.3.3安装Anaconda发行版7
1.3.4安装Jupyter笔记本7
1.4使用Python进行图像输入/输出和显示8
1.4.1使用PIL读取、保存和显示图像8
1.4.2使用matplotlib读取、保存和显示图像10
1.4.3使用scikit-image读取、保存和显示图像12
1.4.4使用SciPy的misc模块读取、保存和显示图像14
1.5处理不同的文件格式和图像类型,并执行基本的图像操作15
1.5.1处理不同的文件格式和图像类型16
1.5.2执行基本的图像操作20
小结38
习题39
拓展阅读40
第2章采样、傅里叶变换与卷积41
2.1图像形成——采样和量化42
2.1.1采样42
2.1.2量化48
2.2离散傅里叶变换51
2.2.1为什么需要DFT51
2.2.2用快速傅里叶变换算法计算DFT51
2.3理解卷积56
2.3.1为什么需要卷积图像57
2.3.2使用SciPy信号模块的convolve2d函数进行卷积57
2.3.3使用SciPy中的ndimage.convolve函数进行卷积61
2.3.4相关与卷积62
小结.66
习题.66
第3章卷积和频域滤波67
3.1卷积定理和频域高斯模糊67
3.2频域滤波75
3.2.1什么是滤波器75
3.2.2高通滤波器76
3.2.3低通滤波器81
3.2.4DoG带通滤波器87
3.2.5带阻(陷波)滤波器88
3.2.6图像复原90
小结98
习题98
第4章图像增强99
4.1逐点强度变换——像素变换100
4.1.1对数变换101
4.1.2幂律变换103
4.1.3对比度拉伸104
4.1.4二值化108
4.2直方图处理——直方图均衡化和直方图匹配112
4.2.1基于scikit-image的对比度拉伸和直方图均衡化113
4.2.2直方图匹配117
4.3线性噪声平滑120
4.3.1PIL平滑120
4.3.2基于SciPy ndimage进行盒核与高斯核平滑比较124
4.4非线性噪声平滑124
4.4.1PIL平滑125
4.4.2scikit-image平滑(去噪)127
4.4.3SciPy ndimage平滑131
小结132
习题133
第5章应用导数方法实现图像增强134
5.1图像导数——梯度和拉普拉斯算子134
5.1.1导数与梯度135
5.1.2拉普拉斯算子138
5.1.3噪声对梯度计算的影响140
5.2锐化和反锐化掩模141
5.2.1使用拉普拉斯滤波器锐化图像141
5.2.2反锐化掩模142
5.3使用导数和滤波器进行边缘检测144
5.3.1用偏导数计算梯度大小145
5.3.2scikit-image的Sobel边缘检测器146
5.3.3scikit-image的不同边缘检测器——Prewitt、Roberts、Sobel、Scharr和Laplace148
5.3.4scikit-image的Canny边缘检测器151
5.3.5LoG滤波器和DoG滤波器152
5.3.6基于LoG滤波器的边缘检测157
5.3.7基于PIL发现和增强边缘159
5.4图像金字塔——融合图像160
5.4.1scikit-image transform pyramid模块的高斯金字塔160
5.4.2scikit-image transform pyramid模块的拉普拉斯金字塔162
5.4.3构造高斯金字塔164
5.4.4仅通过拉普拉斯金字塔重建图像168
5.4.5基于金字塔的图像融合170
小结172
习题173
第6章形态学图像处理174
6.1基于scikit-image形态学模块的形态学图像处理174
6.1.1对二值图像的操作175
6.1.2利用开、闭运算实现指纹清洗183
6.1.3灰度级操作184
6.2基于scikit-image filter.rank模块的形态学图像处理185
6.2.1形态学对比度增强186
6.2.2使用中值滤波器去噪187
6.2.3计算局部熵188
6.3基于SciPy ndimage.morphology模块的形态学图像处理189
6.3.1填充二值对象中的孔洞189
6.3.2采用开、闭运算去噪190
6.3.3计算形态学Beucher梯度191
6.3.4计算形态学拉普拉斯193
小结194
习题194
第7章图像特征提取与描述符196
7.1特征检测器与描述符196
7.2哈里斯角点检测器198
7.2.1scikit-image包198
7.2.2哈里斯角点特征在图像匹配中的应用200
7.3基于LoG、DoG和DoH的斑点检测器204
7.3.1高斯拉普拉斯204
7.3.2高斯差分205
7.3.3黑塞矩阵205
7.4基于方向梯度直方图的特征提取206
7.4.1计算HOG描述符的算法206
7.4.2基于scikit-image计算HOG描述符207
7.5尺度不变特征变换208
7.5.1计算SIFT描述符的算法.208
7.5.2opencv和opencv-contrib的SIFT函数209
7.5.3基于BRIEF、SIFT和ORB匹配图像的应用210
7.6类Haar特征及其在人脸检测中的应用217
7.6.1基于scikit-image的类Haar特征描述符218
7.6.2基于类Haar特征的人脸检测的应用219
小结222
习题222
第8章图像分割223
8.1图像分割的概念223
8.2霍夫变换——检测图像中的圆和线224
8.3二值化和Otsu分割227
8.4基于边缘/区域的图像分割229
8.4.1基于边缘的图像分割229
8.4.2基于区域的图像分割231
8.5基于菲尔森茨瓦布高效图的分割算法、SLIC算法、快速移位图像分割算法、紧凑型分水岭算法及使用SimpleITK的区域生长算法234
8.5.1基于菲尔森茨瓦布高效图的分割算法235
8.5.2SLIC算法238
8.5.3快速移位图像分割算法240
8.5.4紧凑型分水岭算法241
8.5.5使用SimpleITK的区域生长算法243
8.6活动轮廓算法、形态学蛇算法和基于OpenCV的GrabCut图像分割算法245
8.6.1活动轮廓算法245
8.6.2形态学蛇算法247
8.6.3基于OpenCV的GrabCut图像分割算法250
小结253
习题253
第9章图像处理中的经典机器学习方法255
9.1监督学习与无监督学习255
9.2无监督机器学习——聚类、PCA和特征脸256
9.2.1基于图像分割与颜色量化的k均值聚类算法256
9.2.2用于图像分割的谱聚类算法260
9.2.3PCA与特征脸261
9.3监督机器学习——基于手写数字数据集的图像分类268
9.3.1下载MNIST(手写数字)数据集270
9.3.2可视化数据集270
9.3.3通过训练KNN、高斯贝叶斯和SVM模型对MNIST数据集分类272
9.4监督机器学习——目标检测278
9.4.1使用类Haar特征的人脸检测和使用AdaBoost的级联分类器——Viola-Jones算法279
9.4.2使用基于HOG特征的SVM检测目标283
小结287
习题287
0章图像处理中的深度学习——图像分类289
10.1图像处理中的深度学习289
10.1.1什么是深度学习290
10.1.2经典学习与深度学习290
10.1.3为何需要深度学习292
10.2卷积神经网络292
10.3使用TensorFlow或Keras进行图像分类295
10.3.1使用TensorFlow进行图像分类295
10.3.2使用Keras对密集全连接层进行分类302
10.3.3使用基于Keras的卷积神经网络进行分类306
10.4应用于图像分类的主流深度卷积神经网络311
小结322
习题322
1章图像处理中的深度学习——目标检测等323
11.1YOLOv2323
11.1.1对图像进行分类与定位以及目标检测324
11.1.2使用卷积神经网络检测目标325
11.1.3使用YOLO v2326
11.2利用DeepLab v3+的深度语义分割333
11.2.1语义分割334
11.2.2DeepLabv3+334
11.3迁移学习——什么是迁移学习以及什么时候使用迁移学习337
11.4使用预训练的Torch模型和cv2实现神经风格迁移342
11.4.1了解NST算法342
11.4.2使用迁移学习实现NST342
11.4.3计算总损失344
11.5使用Python和OpenCV实现神经风格迁移344
小结347
习题347
2章图像处理中的其他问题348
12.1接缝雕刻348
12.1.1使用接缝雕刻进行内容感知的图像大小调整349
12.1.2使用接缝雕刻移除目标352
12.2无缝克隆和泊松图像编辑354
12.3图像修复356
12.4变分图像处理358
12.4.1全变分去噪359
12.4.2使用全变分去噪创建平面纹理卡通图像361
12.5图像绗缝362
12.5.1纹理合成362
12.5.2纹理迁移362
12.6人脸变形363
小结364
习题364显示全部>>隐藏全部>>