全书共分成12章,全方位系统化叙述了OpenCV3和Qt5的具体内容,包含:OpenCV和Qt详细介绍、建立OpenCV和Qt新项目、Mat和QImage、图型景图架构、OpenCV中的图象处理、特点与描述符、多核、视频分析、视頻可靠性、调节与检测、连接与布署、Qt Quick手机应用程序等。以便有利于学习与实践,这书出示了实例优化算法的编号保持。也向用户全方位详细地详细介绍了应用场景OpenCV和Qt开展图象处理、计算机视觉等程序编写的技术性和方式。
目录
- 译者序
- 序
- 前言
- 评阅者简介
- 第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 Creator6
- 1.3 OpenCV介绍7
- 1.3.1 主模块8
- 1.3.2 附加模块8
- 1.4 安装Qt9
- 1.4.1 Qt安装准备9
- 1.4.2 在哪里获得Qt10
- 1.4.3 安装方法11
- 1.4.4 测试Qt安装14
- 1.5 安装OpenCV19
- 1.5.1 为构建OpenCV做准备19
- 1.5.2 在哪里获得OpenCV19
- 1.5.3 如何构建20
- 1.5.4 配置OpenCV安装23
- 1.5.5 测试OpenCV安装25
- 1.6 小结27
- 第2章 创建第一个Qt + OpenCV项目28
- 2.1 什么是Qt Creator29
- 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和QImage97
- 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、InputOutputArray108
- 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 场景QGraphicsScene130
- 5.3 对象元素QGraphicsItem134
- 5.4 视图QGraphicsView142
- 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 子类化QThread217
- 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