封面
版权信息
关于本书
译者序
前言
作者简介
译者简介
审校者简介
第1章 安装OpenCV
1.1 技术需求
1.2 OpenCV 4有哪些新特性
1.3 选择和使用合适的安装工具
1.3.1 在Windows上安装
1.3.2 在macOS上安装
1.3.3 在Debian、Ubuntu、Linux Mint以及类似系统上安装
1.3.4 在其他类UNIX系统上安装
1.4 运行示例
1.5 查找文档、帮助和更新
1.6 本章小结
第2章 处理文件、摄像头和GUI
2.1 技术需求
2.2 基本I/O脚本
2.2.1 读取/写入图像文件
2.2.2 在图像和原始字节之间进行转换
2.2.3 基于numpy.array访问图像数据
2.2.4 读取/写入视频文件
2.2.5 捕捉摄像头帧
2.2.6 在窗口中显示图像
2.2.7 在窗口中显示摄像头帧
2.3 项目Cameo(人脸跟踪和图像处理)
2.4 Cameo:面向对象的设计
2.4.1 基于managers.CaptureManager提取视频流
2.4.2 基于managers.WindowManager提取窗口和键盘
2.4.3 基于cameo.Cameo应用所有内容
2.5 本章小结
第3章 基于OpenCV的图像处理
3.1 技术需求
3.2 在不同颜色模型之间进行图像转换
3.3 探索傅里叶变换
3.4 创建模块
3.5 边缘检测
3.6 自定义核:获取卷积
3.7 修改应用程序
3.8 基于Canny的边缘检测
3.9 轮廓检测
3.9.1 边框、最小矩形区域以及最小外接圆
3.9.2 凸轮廓和Douglas-Peucker算法
3.10 检测线、圆以及其他形状
3.10.1 检测线
3.10.2 检测圆
3.10.3 检测其他形状
3.11 本章小结
第4章 深度估计和分割
4.1 技术需求
4.2 创建模块
4.3 从深度摄像头捕捉帧
4.4 将10位图像转换成8位图像
4.5 由视差图创建掩模
4.6 修改应用程序
4.7 基于普通摄像头的深度估计
4.8 基于GrabCut算法的前景检测
4.9 基于分水岭算法的图像分割
4.10 本章小结
第5章 人脸检测和识别
5.1 技术需求
5.2 Haar级联的概念化
5.3 获取Haar级联数据
5.4 使用OpenCV进行人脸检测
5.4.1 在静态图像上进行人脸检测
5.4.2 在视频上进行人脸检测
5.4.3 进行人脸识别
5.5 在红外线下换脸
5.5.1 修改应用程序的循环
5.5.2 掩模复制操作
5.6 本章小结
第6章 使用图像描述符检索和搜索图像
6.1 技术需求
6.2 理解特征检测和匹配的类型
6.3 检测Harris角点
6.4 检测DoG特征并提取SIFT描述符
6.5 检测快速Hessian特征并提取SURF描述符
6.6 使用基于FAST特征和BRIEF描述符的ORB
6.6.1 FAST
6.6.2 BRIEF
6.6.3 蛮力匹配
6.6.4 匹配两幅图像中的标识
6.7 使用K最近邻和比率检验过滤匹配
6.8 基于FLANN的匹配
6.9 基于FLANN进行单应性匹配
6.10 示例应用程序:文身取证
6.10.1 将图像描述符保存到文件
6.10.2 扫描匹配
6.11 本章小结
第7章 建立自定义物体检测器
7.1 技术需求
7.2 理解HOG描述符
7.2.1 HOG的可视化
7.2.2 使用HOG描述图像的区域
7.3 理解非极大值抑制
7.4 理解支持向量机
7.5 基于HOG描述符检测人
7.6 创建并训练物体检测器
7.6.1 理解BoW
7.6.2 将BoW应用于计算机视觉领域
7.6.3 k均值聚类
7.7 检测汽车
7.7.1 支持向量机和滑动窗口相结合
7.7.2 检测场景中的汽车
7.7.3 保存并加载经过训练的支持向量机
7.8 本章小结
第8章 物体跟踪
8.1 技术需求
8.2 基于背景差分检测运动物体
8.2.1 实现基本背景差分器
8.2.2 使用MOG背景差分器
8.2.3 使用KNN背景差分器
8.2.4 使用GMG和其他背景差分器
8.3 利用MeanShift和CamShift跟踪彩色物体
8.3.1 规划MeanShift示例
8.3.2 计算和反投影颜色直方图
8.3.3 实现MeanShift示例
8.3.4 使用CamShift
8.4 使用卡尔曼滤波器寻找运动趋势
8.4.1 理解预测和更新阶段
8.4.2 跟踪鼠标光标
8.5 跟踪行人
8.5.1 规划应用程序的流程
8.5.2 比较面向对象范式和函数范式
8.5.3 实现行人类
8.5.4 实现主函数
8.5.5 考虑接下来的步骤
8.6 本章小结
第9章 摄像头模型和增强现实
9.1 技术需求
9.2 理解3D图像跟踪和增强现实
9.2.1 理解摄像头和镜头参数
9.2.2 理解cv2.solvePnPRansac
9.3 实现demo应用程序
9.3.1 导入模块
9.3.2 执行灰度转换
9.3.3 执行2D到3D的空间转换
9.3.4 实现应用程序类
9.3.5 运行和测试应用程序
9.4 改进3D跟踪算法
9.5 本章小结
第10章 基于OpenCV的神经网络导论
10.1 技术需求
10.2 理解人工神经网络
10.2.1 理解神经元和感知器
10.2.2 理解神经网络的层
10.3 用OpenCV训练基本人工神经网络
10.4 训练多阶段人工神经网络分类器
10.5 基于人工神经网络识别手写数字
10.5.1 理解手写数字的MNIST数据库
10.5.2 为MNIST数据库选择训练参数
10.5.3 实现模块来训练人工神经网络
10.5.4 实现简单测试模块
10.5.5 实现主模块
10.5.6 试着提升人工神经网络训练性能
10.5.7 寻找其他潜在应用程序
10.6 在OpenCV中使用其他框架的深度神经网络
10.7 基于第三方深度神经网络的物体检测和分类
10.8 基于第三方深度神经网络的人脸检测和分类
10.9 本章小结
附录 基于曲线滤波器弯曲颜色空间
更新时间:2021-09-26 16:23:04