注重体验与质量的电子书资源下载网站
分类于: 其它 人工智能
简介
OpenCV 3计算机视觉:Python语言实现(原书第2版): Python语言实现 豆 7.1分
资源最后更新于 2020-08-19 16:08:59
作者:Joe Minichino
译者:刘波
出版社:机械工业出版社
出版日期:2016-01
ISBN:9787111539759
文件格式: pdf
标签: OpenCV 计算机视觉 python Python 数字图像处理/计算机视觉 科学 数据挖掘 Matlab/OpenCV/Python
简介· · · · · ·
OpenCV 3是一种先进的计算机视觉库,可以用于各种图像和视频处理操作,通过OpenCV 3 能很容易地实现一些有前景且功能先进的应用(比如:人脸识别或目标跟踪等)。理解与计算机视觉相关的算法、模型以及OpenCV 3 API背后的基本概念,有助于开发现实世界中的各种应用程序(比如:安全和监视领域的工具)。
本书将从图像处理的基本操作出发,带你开启先进计算机视觉概念的探索之旅。计算机视觉是一个快速发展的学科,在现实生活中,它的应用增长得非常快,因此写作本书的目的是为了帮助计算机视觉领域的新手和想要了解全新的OpenCV 3.0.0的计算机视觉专家。
本书的主要内容
第1章介绍如何在不同平台下安装基于Python的OpenCV,并给出一些常见问题的解决方法。
第2章介绍了OpenCV的I/O功能,并讨论与项目相关的概念,以及如何针对该项目进行面向对象...
目录
译者序
前言
作者简介
审校者简介
译者简介
第1章 安装OpenCV 1
1.1 选择和使用合适的安装工具 2
1.1.1 在Windows上安装 2
1.1.2 在OS X系统中安装 6
1.1.3 在Ubuntu及其衍生版本中安装 11
1.1.4 在其他类Unix系统中安装 12
1.2 安装Contrib模块 13
1.3 运行示例 13
1.4 查找文档、帮助及更新 14
1.5 总结 15
第2章 处理文件、摄像头和图形用户界面 16
2.1 基本I/O脚本 16
2.1.1 读/写图像文件 16
2.1.2 图像与原始字节之间的转换 19
2.1.3 使用numpy.array访问图像数据 20
2.1.4 视频文件的读/写 22
2.1.5 捕获摄像头的帧 23
2.1.6 在窗口显示图像 24
2.1.7 在窗口显示摄像头帧 25
2.2 Cameo项目(人脸跟踪和图像处理) 26
2.3 Cameo—面向对象的设计 27
2.3.1 使用managers. CaptureManager提取视频流 27
2.3.2 使用managers.WindowManager抽象窗口和键盘 32
2.3.3 cameo.Cameo的强大实现 33
2.4 总结 34
第3章 使用OpenCV 3处理图像 36
3.1 不同色彩空间的转换 36
3.2 傅里叶变换 37
3.2.1 高通滤波器 37
3.2.2 低通滤波器 39
3.3 创建模块 39
3.4 边缘检测 40
3.5 用定制内核做卷积 41
3.6 修改应用 43
3.7 Canny边缘检测 44
3.8 轮廓检测 45
3.9 边界框、最小矩形区域和最小闭圆的轮廓 46
3.10 凸轮廓与Douglas-Peucker算法 48
3.11 直线和圆检测 50
3.11.1 直线检测 50
3.11.2 圆检测 51
3.12 检测其他形状 52
3.13 总结 52
第4章 深度估计与分割 53
4.1 创建模块 53
4.2 捕获深度摄像头的帧 54
4.3 从视差图得到掩模 56
4.4 对复制操作执行掩模 57
4.5 使用普通摄像头进行深度估计 59
4.6 使用分水岭和GrabCut算法进行物体分割 63
4.6.1 用GrabCut进行前景检测的例子 64
4.6.2 使用分水岭算法进行图像分割 66
4.7 总结 69
第5章 人脸检测和识别 70
5.1 Haar级联的概念 70
5.2 获取Haar级联数据 71
5.3 使用OpenCV进行人脸检测 72
5.3.1 静态图像中的人脸检测 72
5.3.2 视频中的人脸检测 74
5.3.3 人脸识别 76
5.4 总结 82
第6章 图像检索以及基于图像描述符的搜索 83
6.1 特征检测算法 83
6.1.1 特征定义 84
6.1.2 使用DoG和SIFT进行特征提取与描述 86
6.1.3 使用快速Hessian算法和SURF来提取和检测特征 89
6.1.4 基于ORB的特征检测和特征匹配 91
6.1.5 ORB特征匹配 93
6.1.6 K-最近邻匹配 95
6.1.7 FLANN匹配 96
6.1.8 FLANN的单应性匹配 99
6.1.9 基于文身取证的应用程序示例 102
6.2 总结 105
第7章 目标检测与识别 106
7.1 目标检测与识别技术 106
7.1.1 HOG描述符 107
7.1.2 检测人 112
7.1.3 创建和训练目标检测器 113
7.2 汽车检测 116
7.2.1 代码的功能 118
7.2.2 SVM和滑动窗口 122
7.3 总结 134
第8章 目标跟踪 135
8.1 检测移动的目标 135
8.2 背景分割器:KNN、MOG2和GMG 138
8.2.1 均值漂移和CAMShift 142
8.2.2 彩色直方图 144
8.2.3 返回代码 146
8.3 CAMShift 147
8.4 卡尔曼滤波器 149
8.4.1 预测和更新 149
8.4.2 范例 150
8.4.3 一个基于行人跟踪的例子 153
8.4.4 Pedestrian类 154
8.4.5 主程序 157
8.5 总结 159
第9章 基于OpenCV的神经网络简介 160
9.1 人工神经网络 160
9.2 人工神经网络的结构 161
9.2.1 网络层级示例 162
9.2.2 学习算法 163
9.3 OpenCV中的ANN 164
9.3.1 基于ANN的动物分类 166
9.3.2 训练周期 169
9.4 用人工神经网络进行手写数字识别 170
9.4.1 MNIST—手写数字数据库 170
9.4.2 定制训练数据 170
9.4.3 初始参数 171
9.4.4 迭代次数 171
9.4.5 其他参数 171
9.4.6 迷你库 172
9.4.7 主文件 175
9.5 可能的改进和潜在的应用 180
9.5.1 改进 180
9.5.2 应用 181
9.6 总结 181
前言
作者简介
审校者简介
译者简介
第1章 安装OpenCV 1
1.1 选择和使用合适的安装工具 2
1.1.1 在Windows上安装 2
1.1.2 在OS X系统中安装 6
1.1.3 在Ubuntu及其衍生版本中安装 11
1.1.4 在其他类Unix系统中安装 12
1.2 安装Contrib模块 13
1.3 运行示例 13
1.4 查找文档、帮助及更新 14
1.5 总结 15
第2章 处理文件、摄像头和图形用户界面 16
2.1 基本I/O脚本 16
2.1.1 读/写图像文件 16
2.1.2 图像与原始字节之间的转换 19
2.1.3 使用numpy.array访问图像数据 20
2.1.4 视频文件的读/写 22
2.1.5 捕获摄像头的帧 23
2.1.6 在窗口显示图像 24
2.1.7 在窗口显示摄像头帧 25
2.2 Cameo项目(人脸跟踪和图像处理) 26
2.3 Cameo—面向对象的设计 27
2.3.1 使用managers. CaptureManager提取视频流 27
2.3.2 使用managers.WindowManager抽象窗口和键盘 32
2.3.3 cameo.Cameo的强大实现 33
2.4 总结 34
第3章 使用OpenCV 3处理图像 36
3.1 不同色彩空间的转换 36
3.2 傅里叶变换 37
3.2.1 高通滤波器 37
3.2.2 低通滤波器 39
3.3 创建模块 39
3.4 边缘检测 40
3.5 用定制内核做卷积 41
3.6 修改应用 43
3.7 Canny边缘检测 44
3.8 轮廓检测 45
3.9 边界框、最小矩形区域和最小闭圆的轮廓 46
3.10 凸轮廓与Douglas-Peucker算法 48
3.11 直线和圆检测 50
3.11.1 直线检测 50
3.11.2 圆检测 51
3.12 检测其他形状 52
3.13 总结 52
第4章 深度估计与分割 53
4.1 创建模块 53
4.2 捕获深度摄像头的帧 54
4.3 从视差图得到掩模 56
4.4 对复制操作执行掩模 57
4.5 使用普通摄像头进行深度估计 59
4.6 使用分水岭和GrabCut算法进行物体分割 63
4.6.1 用GrabCut进行前景检测的例子 64
4.6.2 使用分水岭算法进行图像分割 66
4.7 总结 69
第5章 人脸检测和识别 70
5.1 Haar级联的概念 70
5.2 获取Haar级联数据 71
5.3 使用OpenCV进行人脸检测 72
5.3.1 静态图像中的人脸检测 72
5.3.2 视频中的人脸检测 74
5.3.3 人脸识别 76
5.4 总结 82
第6章 图像检索以及基于图像描述符的搜索 83
6.1 特征检测算法 83
6.1.1 特征定义 84
6.1.2 使用DoG和SIFT进行特征提取与描述 86
6.1.3 使用快速Hessian算法和SURF来提取和检测特征 89
6.1.4 基于ORB的特征检测和特征匹配 91
6.1.5 ORB特征匹配 93
6.1.6 K-最近邻匹配 95
6.1.7 FLANN匹配 96
6.1.8 FLANN的单应性匹配 99
6.1.9 基于文身取证的应用程序示例 102
6.2 总结 105
第7章 目标检测与识别 106
7.1 目标检测与识别技术 106
7.1.1 HOG描述符 107
7.1.2 检测人 112
7.1.3 创建和训练目标检测器 113
7.2 汽车检测 116
7.2.1 代码的功能 118
7.2.2 SVM和滑动窗口 122
7.3 总结 134
第8章 目标跟踪 135
8.1 检测移动的目标 135
8.2 背景分割器:KNN、MOG2和GMG 138
8.2.1 均值漂移和CAMShift 142
8.2.2 彩色直方图 144
8.2.3 返回代码 146
8.3 CAMShift 147
8.4 卡尔曼滤波器 149
8.4.1 预测和更新 149
8.4.2 范例 150
8.4.3 一个基于行人跟踪的例子 153
8.4.4 Pedestrian类 154
8.4.5 主程序 157
8.5 总结 159
第9章 基于OpenCV的神经网络简介 160
9.1 人工神经网络 160
9.2 人工神经网络的结构 161
9.2.1 网络层级示例 162
9.2.2 学习算法 163
9.3 OpenCV中的ANN 164
9.3.1 基于ANN的动物分类 166
9.3.2 训练周期 169
9.4 用人工神经网络进行手写数字识别 170
9.4.1 MNIST—手写数字数据库 170
9.4.2 定制训练数据 170
9.4.3 初始参数 171
9.4.4 迭代次数 171
9.4.5 其他参数 171
9.4.6 迷你库 172
9.4.7 主文件 175
9.5 可能的改进和潜在的应用 180
9.5.1 改进 180
9.5.2 应用 181
9.6 总结 181