第1章 绪论? 001
1.1 什么是机器视觉 001
1.2 完整的机器视觉系统组成 002
1.3 机器视觉系统的特点 003
1.4 机器视觉系统相关应用领域 003
1.4.1 在工业生产中的应用 004
1.4.2 在农业中的应用 005
1.4.3 在医学中的应用 005
1.4.4 在军事方面的应用 006
1.4.5 在其他方面的应用 007
1.5 常用机器视觉图像库 007
1.5.1 OpenCV 007
1.5.2 VisionPro 008
1.5.3 HALCON 008
1.5.4 其他图像处理库 009
练习 009
第2章 视觉图像采集设备? 010
2.1 光源 010
2.1.1 电磁辐射 010
2.1.2 光源类型 012
2.1.3 光源形状 012
2.1.4 光源照明方式 014
2.2 镜头 017
2.2.1 焦距 018
2.2.2 光圈 019
2.2.3 其他镜头参数 019
2.3 摄像机 020
2.3.1 CCD芯片尺寸 021
2.3.2 相机分辨率 022
2.3.3 相机帧率与曝光时间 022
2.3.4 其他相机参数 023
练习 023
第3章 数字图像基础知识? 024
3.1 数字图像表示方式 024
3.2 数字图像类别 025
3.2.1 彩色图像 025
3.2.2 二值图像 026
3.2.3 灰度图像 027
3.2.4 索引图像 030
3.3 数字图像格式 030
3.3.1 BMP格式 030
3.3.2 JPEG格式 030
3.3.3 PNG格式 031
3.3.4 GIF格式 031
3.3.5 TIFF格式 031
3.4 数字图像处理步骤 032
3.5 数字图像基本性质 033
3.5.1 图像通道 033
3.5.2 图像分辨率 033
3.5.3 图像邻域 033
3.5.4 图像连通域 034
3.5.5 像素之间的距离 034
3.5.6 图像直方图 035
3.5.7 图像的熵 036
3.5.8 图像中的其他统计特征 037
练习 037
第4章 OpenCV基础知识? 039
4.1 OpenCV简介 039
4.2 OpenCV组织架构 040
4.2.1 OpenCV的模块 041
4.2.2 OpenCV的扩展库 043
4.2.3 OpenCV的文档 043
4.3 OpenCV的使用 044
4.4 使用OpenCV的例子 045
练习 050
第5章 改善数字图像质量? 051
5.1 灰度变换增强 051
5.1.1 线性变换 051
5.1.2 分段线性变换 052
5.1.3 对数变换 055
5.1.4 幂次变换 055
5.2 直方图变换增强 058
5.2.1 直方图均衡化 059
5.2.2 直方图规定化 060
5.3 图像平滑滤波 064
5.3.1 图像卷积运算 065
5.3.2 均值平滑滤波 067
5.3.3 中值滤波 068
5.3.4 高斯滤波 069
5.3.5 双边滤波 070
5.4 代数运算 074
5.4.1 图像加法 074
5.4.2 图像减法 075
5.4.3 图像乘法 075
5.4.4 图像除法 075
5.5 图像逻辑运算 078
练习 080
第6章 图像几何变换? 082
6.1 图像插值 082
6.1.1 最近邻插值 082
6.1.2 双线性插值 084
6.1.3 双立方插值 085
6.2 图像仿射变换 087
6.3 图像透视变换 089
6.4 图像极坐标变换 091
练习 093
第7章 图像边界增强与边缘检测? 095
7.1 图像中的梯度 095
7.2 一阶微分算子 097
7.2.1 水平微分和垂直微分 097
7.2.2 Kirsch算子 100
7.2.3 Sobel算子 101
7.2.4 Prewitt算子 102
7.2.5 Roberts算子 102
7.3 二阶微分算子 104
7.3.1 Laplacian算子 104
7.3.2 LOG算子 105
7.3.3 DOG算子 106
7.4 Canny算子 107
练习 109
第8章 图像的数学形态学处理? 110
8.1 形态学基础 110
8.2 二值图像形态学运算 112
8.2.1 膨胀运算 112
8.2.2 腐蚀运算 114
8.2.3 开运算和闭运算 116
8.2.4 击中击不中变换 119
8.3 灰度图像数学形态学运算 123
8.3.1 灰度图膨胀与腐蚀 123
8.3.2 灰度图开运算与闭运算 124
8.3.3 形态学梯度 125
8.3.4 顶帽 125
8.3.5 底帽 126
8.4 形态学运算的应用 128
8.4.1 二值图像形态学应用 128
8.4.2 灰度图像形态学应用 130
练习 135
第9章 常用图像分割方法? 136
9.1 阈值分割方法 136
9.1.1 全局阈值分割 137
9.1.2 局部阈值分割 141
9.2 区域生长算法 144
9.3 分水岭算法 147
9.4 其他分割方法 151
练习 152
第10章 模板匹配? 154
10.1 图像金字塔 154
10.1.1 高斯金字塔 155
10.1.2 拉普拉斯金字塔 156
10.2 基于灰度值的模板匹配 157
10.3 带旋转与缩放的模板匹配 165
10.4 利用边缘检测结果进行匹配 166
10.5 基于梯度的匹配 167
10.6 基于特征的匹配 168
10.6.1 利用图像矩进行模板匹配 168
10.6.2 利用特征点进行匹配 170
练习 171
第11章 图像特征? 172
11.1 几何特征检测 172
11.1.1 霍夫变换直线检测 173
11.1.2 霍夫变换圆检测 176
11.2 特征点检测 178
11.2.1 Harris角点检测 178
11.2.2 FAST特征点检测 181
11.2.3 SIFT特征检测 184
11.3 HOG特征 187
11.4 纹理特征 188
11.4.1 灰度共生矩阵 189
11.4.2 LBP特征 190
练习 192
第12章 机器学习? 193
12.1 K-近邻算法 193
12.2 多层感知机 195
12.3 支持向量机 197
12.4 卷积神经网络 200
12.5 YOLO算法 203
练习 205
第13章 摄像机标定? 206
13.1 摄像机标定原理 206
13.1.1 坐标系转换关系 207
13.1.2 镜头畸变 209
13.2 标定过程 211
练习 216
第14章 机器视觉应用实例分析? 217
14.1 点阵字符分割 217
14.1.1 确定字符区域 218
14.1.2 字符区域二次分割 219
14.1.3 提取每个字符连通域 219
14.2 镜片定位与自动分拣 222
14.2.1 提取凹面镜片区域 223
14.2.2 中心位置查找 224
14.3 布料瑕疵检测 227
14.3.1 彩色图像分解 228
14.3.2 瑕疵区域提取 229
14.4 EmguCV与C#混合编程实例 231
14.4.1 EmguCV简介 231
14.4.2 图像处理算法设计 233
14.4.3 系统设计与算法集成 234
14.5 用C#搭建一个在线检测视觉图像采集系统 243
14.5.1 在线图像采集简介 243
14.5.2 利用摄像机SDK实现在线视觉系统图像采集 244
练习 253
附录? 254
附录Ⅰ OpenCV C++配置 254
附录Ⅱ 机器学习示例C++代码 260
附录Ⅲ OpenCV常用函数或类 278
附录Ⅳ OpenCV机器视觉处理实例 283
参考文献? 326