第1章OpenCV和Qt简介 1
1.1需要什么 2
1.2 Qt介绍 3
1.2.1 Qt基本模块 3
1.2.2 Qt扩展 4
1.2.3附加值模块 4
1.2.4技术预览模块 5
1.2.5 Qt支持的平台 5
1.2.6 Qt Creator 6
1.3 OpenCV介绍 7
1.3.1主模块 8
1.3.2附加模块 8
1.4安装Qt 9
1.4.1 Qt安装准备 9
1.4.2在哪里获得Qt 10
1.4.3安装方法 11
1.4.4测试Qt安装 14
1.5安装OpenC V 19
1.5.1为构建OpenCV做准备 19
1.5.2在哪里获得OpenCV 19
1.5.3如何构建 20
1.5.4配置OpenC V安装 23
1.5.5测试OpenCV安装 25
1.6小结 27
第2章 创建第一个Qt + OpenCV项目 28
2.1什么是Qt Creator 29
2.2 IDE一览 30
2.2.1 Qt Creator的模式 30
2.2.2 Qt Creator的选项窗口 58
2.3小结 61
第3章 创建完整的Qt + OpenCV项目 62
3.1后台 63
3.1.1 qmake工具 63
3.1.2元对象编译器(moc) 65
3.1.3用户界面编译器(uic) 66
3.2设计模式 67
3.3 Qt资源系统 69
3.4样式化应用程序 73
3.4.1选择器类型 74
3.4.2子控件 75
3.4.3伪状态 75
3.4.4级联 75
3.5多语言支持 77
3.6创建和使用插件 81
3.6.1接口 82
3.6.2插件 84
3.6.3插件加载器和用户 88
3.7创建基础 94
3.8小结 96
第4章Mat和Qlmage 97
4.1关于Mat类的所有内容 98
4.1.1构造函数、属性与方法 100
4.1.2 Mat 〈_ Tp〉类 107
4.1.3 Matx〈_Tp, m, n〉 107
4.1.4 UMat类 108
4.1.5 InputArray、 OutputArry、InputOutputArray 108
4.2利用OpenCV读取图像 109
4.3利用OpenCV写入图像 110
4.4 OpenCV中的视频读写 110
4.5 OpenCV中的HighGUI模块 112
4.6 Qt中的图像和视频处理 113
4.6.1 QImage类 113
4.6.2 QPixmap类 116
4.6.3 QImageReader与QImageWriter类 119
4.6.4 QPainter类 119
4.6.5 Qt中的相机和视频处理 124
4.7小结 125
第5章 图形视图框架 126
5.1场景-视图-对象元素架构 127
5.2场景QGraphicsScene 130
5.3对象元素QGraphicsItem 134
5.4视图QGraphicsView 142
5.5小结 152
第6章 基于OpenCV的图像处理 153
6.1图像滤波 154
6.2图像变换功能 168
6.2.1几何变换 168
6.2.2其他变换 174
6.3 OpenCV绘图 180
6.4模板匹配 183
6.5小结 185
第7章 特征及其描述符 187
7.1所有算法的基础——Algorithm类 188
7.2二维特征框架 191
7.2.1检测特征 192
7.2.2提取和匹配描述符 204
7.3如何选择算法 211
7.3.1精度 212
7.3.2速度 212
7.3.3资源利用率 213
7.3.4可用性 213
7.4小结 213
第8章 多线程 215
8.1 Qt中的多线程 216
8.2利用QThread实现低级多线程 217
8.2.1子类化QThread 217
8.2.2使用moveToThread函数 222
8.3线程同步工具 224
8.3.1互斥锁 224
8.3.2读写锁 226
8.3.3信号量 228
8.3.4等待条件 228
8.4基于QtConcurrent的高级多线程 230
8.5小结 235
第9章 视频分析 237
9.1理解直方图 238
9.2理解反投影图像 242
9.2.1直方图比较 250
9.2.2直方图均衡化 252
9.3 MeanShift算法和CamShift算法 253
9.4背景/前景检测 260
9.5小结 263
第10章 调试与测试 265
10.1 Qt Creator调试 266
10.2 Qt测试框架 271
10.2.1创建单元测试 272
10.2.2数据驱动的测试 276
10.2.3基准测试 278
10.2.4 GUI测试 278
10.2.5测试用例项目 281
10.3小结 283
第11章 链接和部署 285
11.1后台构建过程 286
11.1.1预处理 286
11.1.2编译 286
11.1.3链接 287
11.2构建OpenCV静态库 288
11.3构建Qt静态库 289
11.4部署Qt+OpenCV应用程序 295
11.4.1使用静态链接部署 295
11.4.2使用动态链接部署 297
11.4.3 Qt安装程序框架 299
11.5小结 302
第12章Qt Quick应用程序 304
12.1 QML介绍 305
12.2 QML中的用户交互和脚本 310
12.3 Qt Quick Designer的使用 312
12.4 Qt Quick应用程序的结构 313
12.5集成C++和QML代码 318
12.6 Android和iOS上的Qt和OpenCV应用程序 324
12.7小结 326