作 者:(美)艾德里安·克勒(Adrian Kaehlef),(美)加里·布拉德斯基(Gary Bradski) 著 定 价:168 出 版 社:东南大学出版社 出版日期:2017年10月01日 页 数:990 装 帧:平装 ISBN:9787564173548 ●Preface
●1.Overview
●What Is OpenCV?
●Who Uses OpenCV?
●What Is Computer Vision?
●The Origin of OpenCV
●OpenCV Block Diagram
●Speeding Up OpenCV with IPP
●Who Owns OpenCV?
●Downloading and Installing OpenCV
●Installation
●Getting the Latest OpenCV via Git
●More OpenCV Documentation
●Supplied Documentation
●Online Documentation and the Wiki
●OpenCV Contribution Repository
●Downloading and Building Contributed Modules
●Portability
●Summary
●Exercises
●部分目录
内容简介
本书将你置身于迅速发展的计算机视觉领域。本书作者是免费开源OpenCV的发起人,这本书为你介绍了计算机视觉,例证了如何迅速建立使计算机能“看”的应用程序,以及如何基于计算机获取的数据作出决策。 (美)艾德里安·克勒(Adrian Kaehlef),(美)加里·布拉德斯基(Gary Bradski) 著 Adrian Kaehlef是一位企业家,同时也是Silicon Valley Deep Learnlng Group的创始人。其工作包括机器学习、统计建模、计算机视觉以及机器人学。他在斯坦福大学AI实验室拥有职位,另外还是DARPA Grand Challerige竞赛获胜团队Stanley的其中一员。
Gary Bradski是Arraiy.ai的CTO,曾在多家创业公司就职,另外还担任斯坦福大学AI实验室计算机科学系的咨询教授。作为OpenCV库的作者,他也是一位广受尊敬的发言人以及开源社区的贡献者。
探索计算机视觉的奇妙世界:一本深入浅出的实践指南 本书是一本为计算机视觉爱好者、开发者和研究人员量身打造的实践指南,旨在带领读者踏上一段探索计算机视觉奥秘的旅程。无论您是初学者,还是希望深入了解某个特定领域的专业人士,本书都将为您提供一套系统而全面的学习路径。我们将从计算机视觉的基础概念入手,逐步深入到各种先进的技术和应用,并通过丰富的代码示例和实际项目,让您在实践中掌握核心知识。 第一部分:奠定坚实基础——计算机视觉的基石 在开始探索计算机视觉的广阔天地之前,建立扎实的基础至关重要。本部分将带您从最根本的层面理解计算机如何“看”世界。 图像的本质:数字世界中的光影 我们将首先深入剖析图像的数字表示。一张图像在计算机眼中究竟是什么?我们将详细讲解像素的概念、颜色空间(如RGB、灰度、HSV)的原理及其在不同应用中的作用。理解不同颜色空间之间的转换,以及它们如何影响图像的感知和处理,是后续所有图像操作的基础。您将学习如何加载、显示和保存图像,掌握基本的图像数据结构,并了解图像的尺寸、通道数等重要属性。 图像预处理:为洞察做好准备 原始图像往往包含噪声、对比度不足或其他不适合直接分析的特征。因此,图像预处理是计算机视觉流程中不可或缺的关键步骤。本部分将介绍一系列经典的图像预处理技术,包括: 灰度化与二值化: 如何将彩色图像转换为灰度图像,以及进一步将其转换为黑白图像,从而简化信息并突出关键特征。 降噪: 学习各种降噪算法,如高斯模糊、中值滤波,理解它们如何有效地去除图像中的随机噪声,并权衡降噪效果与图像细节的损失。 对比度增强: 掌握直方图均衡化等技术,如何调整图像的亮度分布,使暗部细节和亮部细节都得到更好的展现,从而提高图像的可视性和可分析性。 形态学操作: 介绍腐蚀、膨胀、开运算、闭运算等形态学基本操作,理解它们如何用于去除小物体、连接断开的区域、填充孔洞等,从而优化图像的形状和结构。 特征提取:捕捉图像的“语言” 要让计算机理解图像内容,就必须从图像中提取出有意义的特征。本部分将重点介绍几种被广泛应用的特征提取方法,它们能够捕捉图像在不同尺度和方向上的局部信息: 边缘检测: 学习Canny、Sobel、Laplacian等经典的边缘检测算子,理解它们如何通过计算图像梯度来识别出像素强度发生剧烈变化的地方,这些地方往往对应着物体的轮廓。 角点检测: 探索Harris角点检测、Shi-Tomasi角点检测等算法,理解它们如何识别出图像中具有多个方向梯度变化的点,这些点通常是图像中稳定且易于跟踪的关键点。 尺度不变特征变换 (SIFT) / 加速鲁棒特征 (SURF): 深入理解这些强大的特征描述子,学习它们如何在不同尺度、旋转和光照条件下都能保持稳定,以及它们在图像匹配、目标识别等任务中的应用。 第二部分:让机器“理解”图像——核心技术与算法 在掌握了图像处理的基础知识后,我们将深入探讨计算机视觉的核心技术,让机器能够从图像中提取更深层次的信息,实现“理解”的目标。 图像分割:区分前景与背景 图像分割是将图像划分为多个有意义的区域或对象的任务。本部分将介绍不同的分割策略: 基于阈值的分割: 学习如何根据像素强度值将图像划分为不同的区域。 区域生长法: 理解如何从种子点开始,逐步将具有相似属性的相邻像素合并成区域。 图割算法(如GrabCut): 探索更高级的交互式分割技术,如何结合用户提示和算法推理来精确地分割出感兴趣的对象。 深度学习在分割中的应用(简介): 简要介绍U-Net、Mask R-CNN等深度学习模型在图像分割领域的突破性进展。 目标检测与识别:寻找“它”在哪里 目标检测是识别图像中特定对象的位置和类别,而目标识别则是确定图像中包含哪些对象。本部分将覆盖: 传统方法: 介绍滑动窗口、HOG特征+SVM等经典的目标检测方法。 深度学习驱动的检测器: 深入学习Faster R-CNN、YOLO (You Only Look Once)、SSD (Single Shot MultiBox Detector) 等主流的深度学习目标检测框架,理解它们的网络结构、训练过程和性能优势。 对象跟踪: 学习如何在一个连续的视频序列中跟踪特定对象,介绍一些经典的跟踪算法,如卡尔曼滤波器、Meanshift、光流法,以及基于深度学习的跟踪方法。 图像配准与融合:整合多视角信息 当我们需要将来自不同传感器、不同时间或不同视角的图像组合起来时,图像配准和融合技术就显得尤为重要。 图像配准: 学习如何通过寻找共同特征点或全局变换模型,将两幅或多幅图像对齐。我们将介绍仿射变换、透视变换等几何变换模型,以及基于特征的配准方法。 图像融合: 在图像配准完成后,如何将多幅图像的信息有效地结合起来,生成一幅更丰富、更清晰的图像。介绍诸如拉普拉斯金字塔融合、小波变换融合等方法。 立体视觉与三维重建:感知深度 人类通过双眼感知三维世界,计算机视觉也力求实现这一能力。 立体视觉基础: 理解视差的概念,学习相机标定、本质矩阵、基础矩阵等核心理论。 深度图计算: 介绍块匹配算法、SGM (Semi-Global Matching) 等方法,如何根据左右视图的视差信息计算深度图。 三维重建: 基于深度图或多视图几何,如何构建出场景的三维模型。 第三部分:实践出真知——从理论到应用 理论知识固然重要,但只有通过实践才能真正掌握计算机视觉技术。本部分将带领您将所学知识应用于实际场景,解决真实世界的问题。 人脸检测与识别:认识“你” 人脸是计算机视觉领域最热门的应用之一。我们将学习如何利用现有的算法和模型,实现人脸的检测(找出人脸的位置)和识别(判断这个人是谁)。您将接触到经典的Haar级联分类器、LBP特征,以及更先进的深度学习人脸识别模型。 手势识别:人机交互的新维度 手势识别是实现自然人机交互的关键技术。本书将指导您如何通过捕捉手部关键点、分析手部运动轨迹,来识别不同的手势,从而为智能设备、虚拟现实等应用提供新的交互方式。 图像搜索与检索:找到“它” 当面对海量图像数据时,如何高效地找到想要的图像?我们将探讨基于内容的图像检索 (CBIR) 技术,学习如何提取图像的特征,并利用这些特征进行相似性搜索。 图像风格迁移:艺术创作的AI助手 探索令人着迷的图像风格迁移技术,学习如何将一张图像的内容与另一张图像的风格进行融合,创造出具有艺术感的全新图像。 实践项目:构建您的第一个计算机视觉应用 在学习完各个模块的内容后,我们将通过一个或多个端到端的项目,引导您将所学知识串联起来,构建一个完整的计算机视觉应用。例如,您可以尝试开发一个简单的物体计数器,或者一个能够识别交通标志的系统。这些项目将帮助您巩固知识,理解工作流程,并激发您对计算机视觉更深入的探索。 学习方法与建议 本书强调理论与实践相结合的学习理念。在阅读过程中,我们鼓励您: 动手实践: 强烈建议您跟随书中的代码示例,在自己的环境中进行编译和运行。尝试修改参数,观察结果的变化,这将极大地加深您的理解。 独立思考: 不要仅仅满足于运行代码,尝试理解算法背后的原理,思考它们是如何工作的,以及在不同场景下可能存在的局限性。 查阅资料: 当遇到不理解的概念时,鼓励您积极查阅相关的学术论文、技术文档和在线资源。计算机视觉领域发展迅速,保持学习的热情和主动性至关重要。 参与社区: 加入相关的技术论坛、在线社区,与其他学习者和开发者交流经验,解决遇到的问题,共同进步。 目标读者 本书适合以下人群: 对计算机视觉、图像处理、模式识别有浓厚兴趣的在校学生。 希望将计算机视觉技术应用于自身项目或产品开发的软件工程师、程序员。 从事相关领域研究,需要系统性知识梳理和实践指导的研究人员。 希望跨领域学习,掌握一项前沿技术以提升职业竞争力的专业人士。 通过本书的学习,您将能够: 深入理解计算机视觉的核心概念和基本原理。 熟练掌握常用图像处理和特征提取技术。 理解并应用主流的目标检测、识别和分割算法。 能够独立完成一些基础的计算机视觉项目。 为进一步深入学习更高级的计算机视觉技术打下坚实的基础。 让我们一起,用代码和算法,解锁计算机“看”世界的奥秘!
这本书的印刷质量非常出色,纸张的触感细腻,文字和图片的清晰度都达到了专业水准。我是一位在图形图像处理领域拥有多年经验的工程师,过去一直使用OpenCV的早期版本,现在希望能够跟上技术发展的步伐,全面掌握OpenCV3的新特性和更强大的功能。我注意到这本书在许多方面都进行了更新和优化,特别是在并行计算和GPU加速方面的支持,这对于提升图像处理的效率至关重要。我非常期待书中对图像特征提取、图像分割(如分水岭算法、GrabCut)以及立体视觉(如双目视觉原理、视差计算)等高级主题的详细阐述。同时,我也对书中可能包含的关于OpenCV3与深度学习框架(如TensorFlow、Caffe)集成的介绍抱有浓厚的兴趣,因为这代表了未来计算机视觉发展的重要方向。这本书的出现,无疑为我这样一个有一定基础的学习者提供了快速而系统地掌握OpenCV3的绝佳途径。