作者 |
约瑟夫·豪斯,乔·米尼奇诺 约瑟夫·豪斯 |
丛书名 |
智能系统与技术丛书 |
出版社 |
机械工业出版社 |
ISBN |
9782108261719 |
简要 |
简介 |
内容简介书籍计算机书籍 ---------------------------8083545 - OpenCV 4计算机视觉:Python语言实现(原书第3版)--------------------------- 本书首先介绍OpenCV 4以及如何基于Python 3在各种平台上安装OpenCV 4。接下来,你将学习如何执行读取、写入、操纵,以及显示静态图像、视频和摄像机回馈等基本操作。你还将学习图像处理、视频分析、深度估计和分割,并通过构建一个简单的GUI应用程序获得实践经验。接下来,你将处理两类常见问题:人脸检测和人脸识别。你还将学习物体分类和机器学习的概念,这将使你能够创建和使用物体检测器和分类器,甚至跟踪电影或摄像机回馈中的物体。稍后,你将学习3D跟踪和增强现实。本书末尾,你将学习人工神经网络和深度神经网络,学习如何开发手写数字识别以及对人的性别和年龄分类的应用程序。 ---------------------------8068656 - OpenCV项目开发实战(原书第2版)--------------------------- 本书详细阐述了与OpenCV移动应用程序相关的基本解决方案,主要包括搜索世界范围内的豪华建筑、利用姿势控制应用程序、车载后视摄像头和危险警告、利用运动放大相机查看心率、根据素描画创建物理模拟等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学教材和参考手册。 |
目录 |
[套装书具体书目] 8068656 - OpenCV项目开发实战(原书第2版) - 9787111652342 - 机械工业出版社 - 定价 79 8083545 - OpenCV 4计算机视觉:Python语言实现(原书第3版) - 9787111689485 - 机械工业出版社 - 定价 99 ---------------------------8083545 - OpenCV 4计算机视觉:Python语言实现(原书第3版)--------------------------- 译者序 前言 作者简介 审校者简介 第1章 安装OpenCV 1 1.1 技术需求 2 1.2 OpenCV 4有哪些新特性 2 1.3 选择和使用合适的安装工具 3 1.3.1 在Windows上安装 3 1.3.2 在macOS上安装 7 1.3.3 在Debian、Ubuntu、Linux Mint以及类似系统上安装 8 1.3.4 在其他类UNIX系统上安装 11 1.4 运行示例 12 1.5 查找文档、帮助和更新 13 1.6 本章小结 13 第2章 处理文件、摄像头和GUI 14 2.1 技术需求 14 2.2 基本I/O脚本 14 2.2.1 读取/写入图像文件 15 2.2.2 在图像和原始字节之间进行转换 17 2.2.3 基于numpy.array访问图像数据 19 2.2.4 读取/写入视频文件 21 2.2.5 捕捉摄像头帧 22 2.2.6 在窗口中显示图像 23 2.2.7 在窗口中显示摄像头帧 24 2.3 项目Cameo(人脸跟踪和图像处理) 25 2.4 Cameo:面向对象的设计 26 2.4.1 基于managers.CaptureManager提取视频流 26 2.4.2 基于managers.WindowManager提取窗口和键盘 30 2.4.3 基于cameo.Cameo应用所有内容 31 2.5 本章小结 33 第3章 基于OpenCV的图像处理 34 3.1 技术需求 34 3.2 在不同颜色模型之间进行图像转换 34 3.3 探索傅里叶变换 35 3.4 创建模块 38 3.5 边缘检测 38 3.6 自定义核:获取卷积 39 3.7 修改应用程序 41 3.8 基于Canny的边缘检测 43 3.9 轮廓检测 43 3.9.1 边框、最小矩形区域以及最小外接圆 44 3.9.2 凸轮廓和Douglas-Peucker算法 46 3.10 检测线、圆以及其他形状 48 3.10.1 检测线 48 3.10.2 检测圆 49 3.10.3 检测其他形状 50 3.11 本章小结 50 第4章 深度估计和分割 51 4.1 技术需求 51 4.2 创建模块 52 4.3 从深度摄像头捕捉帧 52 4.4 将10位图像转换成8位图像 54 4.5 由视差图创建掩模 56 4.6 修改应用程序 57 4.7 基于普通摄像头的深度估计 59 4.8 基于GrabCut算法的前景检测 64 4.9 基于分水岭算法的图像分割 67 4.10 本章小结 69 第5章 人脸检测和识别 70 5.1 技术需求 71 5.2 Haar级联的概念化 71 5.3 获取Haar级联数据 72 5.4 使用OpenCV进行人脸检测 72 5.4.1 在静态图像上进行人脸检测 73 5.4.2 在视频上进行人脸检测 74 5.4.3 进行人脸识别 77 5.5 在红外线下换脸 83 5.5.1 修改应用程序的循环 84 5.5.2 掩模复制操作 86 5.6 本章小结 88 第6章 使用图像描述符检索和搜索图像 89 6.1 技术需求 89 6.2 理解特征检测和匹配的类型 90 6.3 检测Harris角点 90 6.4 检测DoG特征并提取SIFT描述符 92 6.5 检测快速Hessian特征并提取SURF描述符 95 6.6 使用基于FAST特征和BRIEF描述符的ORB 96 6.6.1 FAST 97 6.6.2 BRIEF 97 6.6.3 蛮力匹配 98 6.6.4 匹配两幅图像中的标识 98 6.7 使用K最近邻和比率检验过滤匹配 101 6.8 基于FLANN的匹配 104 6.9 基于FLANN进行单应性匹配 107 6.10 示例应用程序:文身取证 110 6.10.1 将图像描述符保存到文件 110 6.10.2 扫描匹配 111 6.11 本章小结 114 第7章 建立自定义物体检测器 115 7.1 技术需求 115 7.2 理解HOG描述符 116 7.2.1 HOG的可视化 116 7.2.2 使用HOG描述图像的区域 117 7.3 理解非极大值抑制 118 7.4 理解支持向量机 118 7.5 基于HOG描述符检测人 119 7.6 创建并训练物体检测器 122 7.6.1 理解BoW 122 7.6.2 将BoW应用于计算机视觉领域 123 7.6.3 k均值聚类 123 7.7 检测汽车 124 7.7.1 支持向量机和滑动窗口相结合 129 7.7.2 检测场景中的汽车 130 7.7.3 保存并加载经过训练的支持向量机 135 7.8 本章小结 135 第8章 物体跟踪 136 8.1 技术需求 136 8.2 基于背景差分检测运动物体 137 8.2.1 实现基本背景差分器 138 8.2.2 使用MOG背景差分器 140 8.2.3 使用KNN背景差分器 143 8.2.4 使用GMG和其他背景差分器 145 8.3 利用MeanShift和CamShift跟踪彩色物体 147 8.3.1 规划MeanShift示例 148 8.3.2 计算和反投影颜色直方图 148 8.3.3 实现MeanShift示例 152 8.3.4 使用CamShift 153 8.4 使用卡尔曼滤波器寻找运动趋势 155 8.4.1 理解预测和更新阶段 155 8.4.2 跟踪鼠标光标 156 8.5 跟踪行人 158 8.5.1 规划应用程序的流程 158 8.5.2 比较面向对象范式和函数范式 159 8.5.3 实现行人类 160 8.5.4 实现主函数 162 8.5.5 考虑接下来的步骤 165 8.6 本章小结 165 第9章 摄像头模型和增强现实 166 9.1 技术需求 166 9.2 理解3D图像跟踪和增强现实 167 9.2.1 理解摄像头和镜头参数 168 9.2.2 理解cv2.solvePnPRansac 172 9.3 实现demo应用程序 174 9.3.1 导入模块 174 9.3.2 执行灰度转换 175 9.3.3 执行2D到3D的空间转换 176 9.3.4 实现应用程序类 177 9.3.5 运行和测试应用程序 192 9.4 改进3D跟踪算法 195 9.5 本章小结 195 第10章 基于OpenCV的神经网络导论 197 10.1 技术需求 198 10.2 理解人工神经网络 198 10.2.1 理解神经元和感知器 199 10.2.2 理解神经网络的层 200 10.3 用OpenCV训练基本人工神经网络 202 10.4 训练多阶段人工神经网络分类器 203 10.5 基于人工神经网络识别手写数字 207 10.5.1 理解手写数字的MNIST数据库 207 10.5.2 为MNIST数据库选择训练参数 208 10.5.3 实现模块来训练人工神经网络 208 10.5.4 实现简单测试模块 212 10.5.5 实现主模块 212 10.5.6 试着提升人工神经网络训练性能 217 10.5.7 寻找其他潜在应用程序 218 10.6 在OpenCV中使用其他框架的深度神经网络 219 10.7 基于第三方深度神经网络的物体检测和分类 220 10.8 基于第三方深度神经网络的人脸检测和分类 223 10.9 本章小结 228 附录 基于曲线滤波器弯曲颜色空间 229 ---------------------------8068656 - OpenCV项目开发实战(原书第2版)--------------------------- 译者序 前言 作者简介 审校者简介 译者简介 第一部分 概述 第1章 任务准备2 1.1 技术需求3 1.2 安装开发机3 1.2.1 在Windows上安装Python和OpenCV5 1.2.2 在Mac上安装Python和OpenCV8 1.2.3 在Debian Jessie及其衍生系统(包括Raspbian、Ubuntu和Linux Mint)上安装Python和OpenCV12 1.2.4 在Fedora及其衍生系统(包括RHEL和CentOS)上安装Python和OpenCV15 1.2.5 在openSUSE及其衍生系统上安装Python和OpenCV16 1.3 安装Android Studio和OpenCV16 1.4 安装Unity和OpenCV17 1.5 安装树莓派18 1.6 查找OpenCV文档、帮助和更新22 1.7 树莓派的替代产品23 1.8 本章小结23 第2章 搜索世界各地的豪华住宿24 2.1 技术需求24 2.2 设计Luxocator应用程序25 2.3 直方图的创建、比较和存储26 2.4 用参考图像训练分类器31 2.5 从网上获取图像32 2.6 从Bing图像搜索上获取图像34 2.7 为应用程序准备图像和资源39 2.8 将所有内容集成到GUI中41 2.9 运行Luxocator并解决SSL问题48 2.10 编译Luxocator发行版49 2.11 本章小结51 第二部分 追踪 第3章 训练智能警报器识别坏蛋和他的猫54 3.1 技术需求55 3.2 机器学习的通识理解55 3.3 设计交互式识别器应用程序56 3.4 理解哈尔级联和LBPH58 3.5 实现交互式识别器应用程序60 3.6 设计猫检测模型72 3.7 实现猫检测模型的训练脚本74 3.8 设计Angora Blue应用程序85 3.9 实现Angora Blue应用程序85 3.10 编译Angora Blue的发行版91 3.11 搜寻猫科动物的更多乐趣91 3.12 本章小结91 第4章 用轻柔的动作控制手机应用程序93 4.1 技术需求94 4.2 设计Goldgesture应用程序94 4.3 理解光流95 4.4 在Android Studio中设置项目96 4.5 获取级联文件和音频文件100 4.6 指定应用程序的需求101 4.7 将摄像头预览布置为主视图102 4.8 跟踪往复动作103 4.9 播放的音频片段作为问题和答案105 4.10 在活动中捕捉图像并跟踪脸部109 4.11 本章小结123 第5章 给汽车配备后视摄像头和危险检测装置124 5.1 技术需求125 5.2 设计The Living Headlights应用程序125 5.3 检测光作为斑点127 5.4 估算距离(一种廉价的方法)129 5.5 实现The Living Headlights应用程序132 5.6 在家里测试The Living Headlights应用程序143 5.7 在车内测试The LivingHeadlights应用程序145 5.8 本章小结148 第6章 基于笔和纸的草图创建物理模拟150 6.1 技术需求151 6.2 设计Rollingball应用程序152 6.3 检测圆形和线条153 6.4 为Unity安装OpenCV155 6.5 配置和编译Unity项目157 6.6 在Unity中创建Rollingball场景160 6.7 创建Unity资源并将其添加到场景中162 6.7.1 编写着色程序并创建素材162 6.7.2 创建物理素材164 6.7.3 创建prefab165 6.7.4 编写我们的第一个Unity脚本167 6.7.5 编写Rollingball的主脚本168 6.8 在Unity中创建启动场景183 6.9 整理和测试184 6.10 本章小结186 第三部分 大揭秘 第7章 用运动放大摄像头观察心跳188 7.1 技术需求189 7.2 设计Lazy Eyes应用程序190 7.3 欧拉视频放大191 7.4 利用快速傅里叶变换从视频中提取重复信号191 7.5 用图像金字塔合成两幅图像195 7.6 实现Lazy Eyes应用程序196 7.7 为各种运动配置和测试应用程序203 7.8 本章小结208 第8章 停下来,像蜜蜂一样观察209 8.1 技术需求210 8.2 设计Sunbaker应用程序210 8.3 了解光谱212 8.4 寻找专业相机213 8.4.1 XNiteUSB2S-MUV214 8.4.2 Sony PlayStation Eye215 8.4.3 灰点Grasshopper 3 GS3-U3-23S6M-C216 8.5 安装Spinnaker SDK和PySpin217 8.6 用PySpin从工业相机中获取图像218 8.7 调整Lazy Eyes应用程序生成Sunbaker223 8.8 本章小结225 附录A 使WxUtils.py与树莓派兼容227 附录B 学习OpenCV中有关特征检测的更多内容229 附录C 与蛇共舞(Python的第一步)231 |