第1章 图像编程入门 1
1.1简介 1
1.2安装OpenC V库 1
1.2.1准备工作 1
1.2.2如何实现 2
1.2.3实现原理 4
1.2.4扩展阅读 5
1.2.5参阅 6
1.3装载、显示和存储图像 6
1.3.1准备工作 6
1.3.2如何实现 6
1.3.3实现原理 8
1.3.4扩展阅读 9
1.3.5参阅 11
1.4深入了解cv::Mat 11
1.4.1如何实现 11
1.4.2实现原理 13
1.4.3扩展阅读 16
1.4.4参阅 17
1.5定义感兴趣区域 17
1.5.1准备工作 17
1.5.2如何实现 17
1.5.3实现原理 18
1.5.4扩展阅读 18
1.5.5参阅 19
第2章 操作像素 20
2.1简介 20
2.2访问像素值 21
2.2.1准备工作 21
2.2.2如何实现 21
2.2.3实现原理 23
2.2.4扩展阅读 24
2.2.5参阅 24
2.3用指针扫描图像 24
2.3.1准备工作 25
2.3.2如何实现 25
2.3.3实现原理 26
2.3.4扩展阅读 27
2.3.5参阅 31
2.4用迭代器扫描图像 31
2.4.1准备工作 31
2.4.2如何实现 31
2.4.3实现原理 32
2.4.4扩展阅读 33
2.4.5参阅 33
2.5编写高效的图像扫描循环 33
2.5.1如何实现 34
2.5.2实现原理 34
2.5.3扩展阅读 36
2.5.4参阅 36
2.6扫描图像并访问相邻像素 36
2.6.1准备工作 36
2.6.2如何实现 36
2.6.3实现原理 38
2.6.4扩展阅读 38
2.6.5参阅 39
2.7实现简单的图像运算 39
2.7.1准备工作 39
2.7.2如何实现 40
2.7.3实现原理 40
2.7.4扩展阅读 41
2.8图像重映射 42
2.8.1如何实现 42
2.8.2实现原理 43
2.8.3参阅 44
第3章 处理图像的颜色 45
3.1简介 45
3.2用策略设计模式比较颜色 45
3.2.1如何实现 46
3.2.2实现原理 47
3.2.3扩展阅读 50
3.2.4参阅 53
3.3用GrabCut算法分割图像 53
3.3.1如何实现 54
3.3.2实现原理 56
3.3.3参阅 56
3.4转换颜色表示法 56
3.4.1如何实现 57
3.4.2实现原理 58
3.4.3参阅 59
3.5用色调、饱和度和亮度表示颜色 59
3.5.1如何实现 59
3.5.2实现原理 61
3.5.3拓展阅读 64
3.5.4参阅 66
第4章 用直方图统计像素 67
4.1简介 67
4.2计算图像直方图 67
4.2.1准备工作 68
4.2.2如何实现 68
4.2.3实现原理 72
4.2.4扩展阅读 72
4.2.5参阅 74
4.3利用查找表修改图像外观 74
4.3.1如何实现 74
4.3.2实现原理 75
4.3.3扩展阅读 76
4.3.4参阅 78
4.4直方图均衡化 78
4.4.1如何实现 78
4.4.2实现原理 79
4.5反向投影直方图检测特定图像内容 79
4.5.1如何实现 80
4.5.2实现原理 81
4.5.3扩展阅读 82
4.5.4参阅 84
4.6用均值平移算法查找目标 85
4.6.1如何实现 85
4.6.2实现原理 87
4.6.3参阅 88
4.7比较直方图搜索相似图像 88
4.7.1如何实现 88
4.7.2实现原理 90
4.7.3参阅 90
4.8用积分图像统计像素 91
4.8.1如何实现 91
4.8.2实现原理 92
4.8.3扩展阅读 93
4.8.4参阅 99
第5章 用形态学运算变换图像 100
5.1简介 100
5.2用形态学滤波器腐蚀和膨胀图像 100
5.2.1准备工作 101
5.2.2如何实现 101
5.2.3实现原理 102
5.2.4扩展阅读 103
5.2.5参阅 104
5.3用形态学滤波器开启和闭合图像 104
5.3.1如何实现 104
5.3.2实现原理 105
5.3.3参阅 106
5.4在灰度图像中应用形态学运算 106
5.4.1如何实现 106
5.4.2实现原理 107
5.4.3参阅 108
5.5用分水岭算法实现图像分割 108
5.5.1如何实现 109
5.5.2实现原理 111
5.5.3扩展阅读 112
5.5.4参阅 114
5.6用MSER算法提取特征区域 114
5.6.1如何实现 114
5.6.2实现原理 116
5.6.3参阅 118
第6章 图像滤波 119
6.1简介 119
6.2低通滤波器 120
6.2.1如何实现 120
6.2.2实现原理 121
6.2.3参阅 123
6.3用滤波器进行缩减像素采样 124
6.3.1如何实现 124
6.3.2实现原理 125
6.3.3扩展阅读 126
6.3.4参阅 127
6.4中值滤波器 128
6.4.1如何实现 128
6.4.2实现原理 129
6.5用定向滤波器检测边缘 129
6.5.1如何实现 130
6.5.2实现原理 132
6.5.3扩展阅读 135
6.5.4参阅 136
6.6计算拉普拉斯算子 136
6.6.1如何实现 137
6.6.2实现原理 138
6.6.3扩展阅读 141
6.6.4参阅 142
第7章 提取直线、轮廓和区域 143
7.1简介 143
7.2用Canny算子检测图像轮廓 143
7.2.1如何实现 143
7.2.2实现原理 145
7.2.3参阅 146
7.3用霍夫变换检测直线 146
7.3.1准备工作 146
7.3.2如何实现 147
7.3.3实现原理 151
7.3.4扩展阅读 153
7.3.5参阅 155
7.4点集的直线拟合 155
7.4.1如何实现 155
7.4.2实现原理 157
7.4.3扩展阅读 158
7.5提取连续区域 158
7.5.1如何实现 159
7.5.2实现原理 160
7.5.3扩展阅读 161
7.6计算区域的形状描述子 161
7.6.1如何实现 162
7.6.2实现原理 163
7.6.3扩展阅读 164
第8章 检测兴趣点 166
8.1简介 166
8.2检测图像中的角点 166
8.2.1如何实现 167
8.2.2实现原理 171
8.2.3扩展阅读 172
8.2.4参阅 174
8.3快速检测特征 174
8.3.1如何实现 174
8.3.2实现原理 175
8.3.3扩展阅读 176
8.3.4参阅 178
8.4尺度不变特征的检测 178
8.4.1如何实现 179
8.4.2实现原理 180
8.4.3扩展阅读 181
8.4.4参阅 183
8.5多尺度FAST特征的检测 183
8.5.1如何实现 183
8.5.2实现原理 184
8.5.3扩展阅读 185
8.5.4参阅 186
第9章 描述和匹配兴趣点 187
9.1简介 187
9.2局部模板匹配 187
9.2.1如何实现 188
9.2.2实现原理 190
9.2.3扩展阅读 191
9.2.4参阅 192
9.3描述并匹配局部强度值模式 192
9.3.1如何实现 193
9.3.2实现原理 195
9.3.3扩展阅读 196
9.3.4参阅 199
9.4用二值描述子匹配关键点 199
9.4.1如何实现 199
9.4.2实现原理 200
9.4.3扩展阅读 201
9.4.4参阅 202
第10章 估算图像之间的投影关系 203
10.1简介 203
10.2计算图像对的基础矩阵 205
10.2.1准备工作 205
10.2.2如何实现 206
10.2.3实现原理 208
10.2.4参阅 209
10.3用RANSAC(随机抽样一致性)算法匹配图像 209
10.3.1如何实现 209
10.3.2实现原理 212
10.3.3扩展阅读 213
10.4计算两幅图像之间的单应矩阵 214
10.4.1准备工作 214
10.4.2如何实现 215
10.4.3实现原理 217
10.4.4扩展阅读 218
10.4.5参阅 219
10.5检测图像中的平面目标 219
10.5.1如何实现 219
10.5.2实现原理 221
10.5.3参阅 224
第11章 三维重建 225
11.1简介 225
11.2相机标定 226
11.2.1如何实现 227
11.2.2实现原理 230
11.2.3扩展阅读 232
11.2.4参阅 233
11.3相机姿态还原 233
11.3.1如何实现 233
11.3.2实现原理 235
11.3.3扩展阅读 236
11.3.4参阅 238
11.4用标定相机实现三维重建 238
11.4.1如何实现 238
11.4.2实现原理 241
11.4.3扩展阅读 243
11.4.4参阅 244
11.5计算立体图像的深度 244
11.5.1准备工作 244
11.5.2如何实现 245
11.5.3实现原理 247
11.5.4参阅 247
第12章 处理视频序列 248
12.1简介 248
12.2读取视频序列 248
12.2.1如何实现 248
12.2.2实现原理 250
12.2.3扩展阅读 251
12.2.4参阅 251
12.3处理视频帧 251
12.3.1如何实现 251
12.3.2实现原理 252
12.3.3扩展阅读 256
12.3.4参阅 258
12.4写入视频帧 258
12.4.1如何实现 259
12.4.2实现原理 259
12.4.3扩展阅读 262
12.4.4参阅 263
12.5提取视频中的前景物体 263
12.5.1如何实现 264
12.5.2实现原理 266
12.5.3扩展阅读 266
12.5.4参阅 268
第13章 跟踪运动目标 269
13.1简介 269
13.2跟踪视频中的特征点 269
13.2.1如何实现 269
13.2.2实现原理 274
13.2.3参阅 274
13.3估算光流 275
13.3.1准备工作 275
13.3.2如何实现 276
13.3.3实现原理 278
13.3.4参阅 279
13.4跟踪视频中的物体 279
13.4.1如何实现 279
13.4.2实现原理 282
13.4.3参阅 284
第14章 实用案例 285
14.1简介 285
14.2人脸识别 286
14.2.1如何实现 286
14.2.2实现原理 288
14.2.3参阅 290
14.3人脸定位 291
14.3.1准备工作 291
14.3.2如何实现 292
14.3.3实现原理 295
14.3.4扩展阅读 297
14.3.5参阅 298
14.4行人检测 298
14.4.1准备工作 298
14.4.2如何实现 299
14.4.3实现原理 302
14.4.4扩展阅读 304
14.4.5参阅 308