第一章 使用OpenCV实现计算机视觉技术 1
1.1 计算机视觉技术 1
1.2 什么是OpenCV 8
1.3 基于OpenCV库的编程方法 11
本章小结 16
第二章 OpenCV的编程环境 17
2.1 OpenCV环境介绍 17
2.2 OpenCV的体系结构 25
2.3 OpenCV实例演示 33
本章小结 39
第三章 OpenCV编程风格 40
3.1 命名约定 40
3.2 结构 41
3.3 函数接口设计 43
3.4 函数实现 44
3.5 代码布局 45
3.6 移植性 46
3.7 文件操作 46
3.8 文档编写 52
本章小结 54
第四章 数据结构 55
4.1 基本数据结构 55
4.2 数组有关的操作 59
4.3 动态结构 85
本章小结 95
第五章 数据交互 96
5.1 绘图函数 96
5.2 文件存储 106
5.3 运行时类型信息和通用函数 118
5.4 错误处理函数 120
5.5 系统函数 122
本章小结 124
第六章 图像处理 125
6.1 边缘检测 125
6.2 直方图 137
6.3 Hough变换 142
6.4 几何变换 150
6.5 形态学 155
本章小结 161
第七章 结构与识别 162
7.1 轮廓处理函数 162
7.2 计算几何 166
7.3 平面划分 176
7.4 目标检测函数 183
7.5 生成与控制贝塞尔曲线 190
7.6 用OpenCV进行人脸检测 197
本章小结 203
第八章 图形界面(HighGUI) 204
8.1 读取和保存图像 204
8.2 OpenCV中的实用系统函数 216
本章小结 224
第九章 视频处理(CvCAM) 225
9.1 使用HighGUI对视频进行读写处理 225
9.2 CvCam对摄像头和视频流的使用 234
本章小结 242
第十章 OpenCV附加库第一部分 243
10.1 附加库介绍 243
10.2 形态学(morphing functions) 249
本章小结 282
第十一章 OpenCV附加库第二部分——隐马尔可夫模型 283
11.1 隐马尔可夫模型概述 283
11.2 隐马尔可夫模型中的基本结构与函数介绍 288
11.3 隐马尔可夫模型中的函数介绍 289
11.4 人脸识别工具 294
本章小结 312
第十二章 核心库综合例程 313
12.1 检测黑白格标定板内指定矩形区域内的角点 313
12.2 解线性标定方程组程序 323
本章小结 331
第十三章 运动与跟踪 332
13.1 图像统计的累积函数 332
13.2 运动模板函数 334
13.3 对象跟踪 336
13.4 光流 338
13.5 预估器 341
13.6 Kalman滤波器跟踪示例 345
13.7 用Snake方法检测可变形体的轮廓 349
13.8 运动目标跟踪与检测 354
本章小结 363
第十四章 立体视觉第一部分——照相机定标 364
14.1 坐标系介绍 364
14.2 透视投影矩阵的获得 366
14.3 摄像机参数的获取 368
14.4 径向畸变的校正 370
14.5 使用OpenCV及CVUT进行摄像机定标 371
14.6 OpenCV中的定标函数 377
14.7 CVUT介绍 383
本章小结 389
第十五章 立体视觉第二部分——三维重建 390
15.1 极线几何 390
15.2 特征点匹配 394
15.3 三维重建 400
15.4 OpenCV中相关函数介绍 401
本章小结 403
第十六章 立体视觉第三部分——三维重建算法 404
16.1 图像校正 404
16.2 已校正图像的快速三维重建 410
16.3 Birchfield算法 411
16.4 OpenCV中相关函数介绍 418
本章小结 420
第十七章 立体视觉第四部分——立体视觉实例 421
17.1 图像校正实例代码 421
17.2 基于窗口的稀疏点匹配及三维重建之一 422
17.3 基于窗口的稀疏点匹配及三维重建之二 437
17.4 Birchfield算法的OpenCV实现 455
本章小结 456
第十八章 常见问题解疑 457
18.1 安装与编译出错解决方法 457
18.2 OpenCV库基本技术问题 459
18.3 OpenCV在Linux下的相关问题 464
18.4 OpenCV库中的陷阱和bug 467
本章小结 475
参考文献 476