作者 |
[美] 罗伊·希尔克罗特(Roy Shilkrot) [西班牙] 大卫·米兰·埃斯克里瓦(David Millán Escrivá) 等 |
丛书名 |
智能系统与技术丛书 |
出版社 |
机械工业出版社 |
ISBN |
9782110261820 |
简要 |
简介 |
内容简介书籍计算机书籍 ---------------------------8067389 - 深入理解OpenCV:实用计算机视觉项目解析(原书第3版)--------------------------- 本书第3版仍然坚持“帮助计算机视觉工程师迈出掌握OpenCV的第一步”的初心。本书简化数学公式,但保留了重要的数学公式。针对当前热门的计算机视觉主题,如人脸及特征点检测、姿态估计,以及基于深度卷积网络的车牌识别,展示了从构思到运行的全过程,并提供了完整的项目代码。新版本加入“为项目找到最佳OpenCV算法”、“避免OpenCV中的常见陷阱”两个章节帮助程序员从成百上千的API中进行需求权衡、设计、技术选型、优化和避免陷阱。 ---------------------------8061510 - OpenCV 4计算机视觉项目实战(原书第2版)--------------------------- 本书通过实例和项目讲解OpenCV概念及其算法。首先介绍OpenCV的安装和图像处理的基础知识。然后,覆盖用户界面并深入讲解图像处理,读者将学到复杂的计算机视觉算法,并探索机器学习和人脸检测。之后,本书将介绍如何在复杂场景中创建光流视频分析和背景减除,还将讲解文本分割和识别,以及新的和改进的深度学习模块的基础知识。最后,本书介绍了OpenCV的基础知识,例如矩阵运算、滤波器和直方图,帮读者掌握常用的计算机视觉技术,从头开始构建OpenCV项目。 |
目录 |
[套装书具体书目] 8061510 - OpenCV 4计算机视觉项目实战(原书第2版) - 9787111631644 - 机械工业出版社 - 定价 79 8067389 - 深入理解OpenCV:实用计算机视觉项目解析(原书第3版) - 9787111645771 - 机械工业出版社 - 定价 79 ---------------------------8067389 - 深入理解OpenCV:实用计算机视觉项目解析(原书第3版)--------------------------- 译者序 前言 作者简介 审阅者简介 第1章 树莓派上的卡通化和皮肤颜色分析 1 1.1 访问摄像头 2 1.2 桌面应用程序的相机处理主循环 4 1.2.1 生成黑白素描 4 1.2.2 生成彩色绘画和卡通 6 1.2.3 用边缘滤波器来生成邪恶模式 8 1.2.4 用皮肤检测来生成外星人造型 9 1.3 皮肤变色器的实现 12 1.4 从桌面移植到嵌入式设备 19 1.4.1 用于开发嵌入式设备代码的设备配置 21 1.4.2 在嵌入式设备上安装OpenCV 27 1.5 小结 39 第2章 使用SfM模块从运动中恢复结构 40 2.1 技术要求 40 2.2 SfM的核心概念 41 2.2.1 相机标定和对极几何 42 2.2.2 立体重建和SfM 45 2.3 在OpenCV中实现SfM 48 2.3.1 图像特征匹配 48 2.3.2 找到特征轨迹 52 2.3.3 3D重建和可视化 55 2.3.4 用于稠密重建的MVS 57 2.4 小结 60 第3章 使用人脸模块进行人脸特征点及姿态检测 61 3.1 技术要求 61 3.2 背景和理论 63 3.2.1 主动外观模型与受约束的局部模型 63 3.2.2 回归方法 64 3.3 OpenCV中的人脸特征点检测 65 3.4 基于特征点的人脸方向估计 68 3.4.1 估计姿态计算 69 3.4.2 将姿态投影到图像上 70 3.5 小结 71 第4章 基于深度卷积网络的车牌识别 72 4.1 ANPR简介 72 4.2 ANPR算法 74 4.3 车牌检测 77 4.3.1 分割 78 4.3.2 分类 84 4.4 车牌识别 87 4.4.1 OCR分割 88 4.4.2 基于卷积神经网络的字符分类 89 4.5 小结 105 第5章 通过DNN模块进行人脸检测和识别 106 5.1 介绍人脸检测和人脸识别 106 5.1.1 人脸检测 108 5.1.2 人脸预处理 116 5.1.3 收集人脸并从中学习 127 5.1.4 人脸识别 138 5.1.5 收尾工作——保存和加载文件 141 5.1.6 收尾工作——制作一个漂亮的、交互体验好的GUI 141 5.2 小结 153 5.3 参考文献 154 第6章 Web计算机视觉之初识OpenCV.js 155 6.1 什么是OpenCV.js 155 6.2 编译OpenCV.js 157 6.3 OpenCV.js开发基础 159 6.4 访问摄像头流 165 6.5 图像处理和基本用户界面 169 6.5.1 阈值滤波器 170 6.5.2 高斯滤波器 170 6.5.3 canny滤波器 170 6.6 浏览器中的光流 174 6.7 在浏览器中使用Haar级联分类器进行人脸检测 178 6.8 小结 180 第7章 使用ArUco模块的Android相机校准和AR 182 7.1 技术要求 182 7.2 增强现实和姿态估计 183 7.2.1 相机校准 184 7.2.2 用于平面重建的增强现实标记 186 7.3 Android系统中的相机访问 188 7.4 使用ArUco进行相机校准 191 7.5 使用jMonkeyEngine实现增强现实 195 7.6 小结 196 第8章 带有拼接模块的iOS全景图 198 8.1 技术要求 198 8.2 全景图像拼接方法 199 8.2.1 全景图的特征提取和鲁棒匹配 200 8.2.2 变形图像,以便全景创建 203 8.3 项目概况 204 8.4 用CocoaPods设置iOS OpenCV项目 204 8.5 用于全景捕捉的iOS UI 205 8.6 Objective-C++包装器中的OpenCV拼接 209 8.7 小结 212 8.8 进一步阅读 212 第9章 为项目找到最佳OpenCV算法 213 9.1 技术要求 213 9.2 方案是否包含在OpenCV中 214 9.3 OpenCV中的算法选项 215 9.4 哪种算法最好 217 9.5 算法性能比较的示例 218 9.6 小结 223 第10章 避免OpenCV中的常见陷阱 224 10.1 OpenCV从v1到v4的历史 224 10.2 OpenCV中的历史算法 228 10.3 常见陷阱和建议解决方案 231 10.4 小结 236 10.5 进一步阅读 236 ---------------------------8061510 - OpenCV 4计算机视觉项目实战(原书第2版)--------------------------- 前言 作者简介 审校者简介 第1章 OpenCV入门 1 1.1 了解人类视觉系统 1 1.2 人类如何理解图像内容 3 1.3 你能用OpenCV做什么 4 1.3.1 内置数据结构和输入/输出 4 1.3.2 图像处理操作 5 1.3.3 GUI 5 1.3.4 视频分析 6 1.3.5 3D重建 6 1.3.6 特征提取 7 1.3.7 对象检测 7 1.3.8 机器学习 8 1.3.9 计算摄影 8 1.3.10 形状分析 9 1.3.11 光流算法 9 1.3.12 人脸和对象识别 9 1.3.13 表面匹配 10 1.3.14 文本检测和识别 10 1.3.15 深度学习 10 1.4 安装OpenCV 10 1.4.1 Windows 11 1.4.2 Mac OS X 11 1.4.3 Linux 13 1.5 总结 14 第2章 OpenCV基础知识导论 15 2.1 技术要求 15 2.2 基本CMake配置文件 16 2.3 创建一个库 16 2.4 管理依赖项 17 2.5 让脚本更复杂 18 2.6 图像和矩阵 20 2.7 读/写图像 22 2.8 读取视频和摄像头 25 2.9 其他基本对象类型 27 2.9.1 Vec对象类型 27 2.9.2 Scalar对象类型 28 2.9.3 Point对象类型 28 2.9.4 Size对象类型 29 2.9.5 Rect对象类型 29 2.9.6 RotatedRect对象类型 29 2.10 基本矩阵运算 30 2.11 基本数据存储 32 2.12 总结 34 第3章 学习图形用户界面 35 3.1 技术要求 35 3.2 OpenCV用户界面介绍 36 3.3 OpenCV的基本图形用户界面 36 3.4 Qt图形用户界面 44 3.5 OpenGL支持 50 3.6 总结 54 第4章 深入研究直方图和滤波器 55 4.1 技术要求 56 4.2 生成CMake脚本文件 56 4.3 创建图形用户界面 57 4.4 绘制直方图 59 4.5 图像颜色均衡 62 4.6 Lomography效果 64 4.7 卡通效果 68 4.8 总结 72 第5章 自动光学检查、对象分割和检测 73 5.1 技术要求 73 5.2 隔离场景中的对象 74 5.3 为AOI创建应用程序 76 5.4 预处理输入图像 78 5.4.1 噪声消除 78 5.4.2 用光模式移除背景进行分割 79 5.4.3 阈值 84 5.5 分割输入图像 85 5.5.1 连通组件算法 85 5.5.2 findContours算法 90 5.6 总结 92 第6章 学习对象分类 94 6.1 技术要求 94 6.2 机器学习概念介绍 95 6.3 计算机视觉和机器学习工作流程 98 6.4 自动对象检查分类示例 100 6.4.1 特征提取 102 6.4.2 训练SVM模型 105 6.4.3 输入图像预测 109 6.5 总结 111 第7章 检测面部部位与覆盖面具 112 7.1 技术要求 112 7.2 了解Haar级联 112 7.3 什么是积分图像 114 7.4 在实时视频中覆盖面具 115 7.5 戴上太阳镜 118 7.6 跟踪鼻子、嘴巴和耳朵 121 7.7 总结 122 第8章 视频监控、背景建模和形态学操作 123 8.1 技术要求 123 8.2 理解背景减除 124 8.3 直接的背景减除 124 8.4 帧差分 128 8.5 高斯混合方法 131 8.6 形态学图像处理 133 8.7 使形状变细 134 8.8 使形状变粗 135 8.9 其他形态运算符 136 8.9.1 形态开口 136 8.9.2 形态闭合 137 8.9.3 绘制边界 138 8.9.4 礼帽变换 139 8.9.5 黑帽变换 140 8.10 总结 140 第9章 学习对象跟踪 141 9.1 技术要求 141 9.2 跟踪特定颜色的对象 141 9.3 构建交互式对象跟踪器 143 9.4 用Harris角点检测器检测点 148 9.5 用于跟踪的好特征 151 9.6 基于特征的跟踪 153 9.6.1 Lucas-Kanade方法 153 9.6.2 Farneback算法 157 9.7 总结 161 第10章 开发用于文本识别的分割算法 162 10.1 技术要求 162 10.2 光学字符识别介绍 162 10.3 预处理阶段 164 10.3.1 对图像进行阈值处理 164 10.3.2 文本分割 165 10.4 在你的操作系统上安装Tesseract OCR 172 10.4.1 在Windows上安装Tesseract 172 10.4.2 在Mac上安装Tesseract 173 10.5 使用Tesseract OCR库 173 10.6 总结 177 第11章 用Tesseract进行文本识别 178 11.1 技术要求 178 11.2 文本API的工作原理 179 11.2.1 场景检测问题 179 11.2.2 极值区域 180 11.2.3 极值区域过滤 181 11.3 使用文本API 182 11.3.1 文本检测 182 11.3.2 文本提取 187 11.3.3 文本识别 189 11.4 总结 193 第12章 使用OpenCV进行深度学习 194 12.1 技术要求 194 12.2 深度学习简介 195 12.2.1 什么是神经网络,我们如何从数据中学习 195 12.2.2 卷积神经网络 197 12.3 OpenCV中的深度学习 198 12.4 YOLO用于实时对象检测 199 12.4.1 YOLO v3深度学习模型架构 200 12.4.2 YOLO数据集、词汇表和模型 200 12.4.3 将YOLO导入OpenCV 201 12.5 用SSD进行人脸检测 204 12.5.1 SSD模型架构 204 12.5.2 将SSD人脸检测导入OpenCV 204 12.6 总结 208 |