【导读】计算机视觉是一门对图像中信息进行自动提取的学科。信息的内容相当广泛,包括三维模型、照相机位置、目标检测与识别,以及图像内容的分组与搜索等。本书中,我们使用广义的计算机视觉概念,包括图像扭曲、降噪和增强现实等。计算机视觉有时试图模拟人类视觉,有时使用数据和统计方法,而有时几何是解决问题的关键。如果你想对计算机视觉的基本理论和算法有一个基本的了解,这个动手的介绍是理想的起点。您将学习对象识别、3D重建、立体成像、增强现实和其他计算机视觉应用程序的技术,并学习用Python编写的示例。
前言
今天,图像和视频无处不在,在线照片分享网站和社交网络上的图像有数十亿之多。几乎对于任意可能的查询图像,搜索引擎都会给用户返回检索的图像。实际上,几乎所有手机和计算机都有内置的摄像头,所以在人们的设备中,有几 G 的图像和视频是一件很寻常的事。
计算机视觉就是用计算机编程,并设计算法来理解在这些图像中有什么。计算机视觉的有力应用有图像搜索、机器人导航、医学图像分析、照片管理等。
本书旨在为计算机视觉实战提供一个简单的切入点,让学生、研究者和爱好者充分理解其基础理论和算法。本书中的编程语言是 Python,Python 自带了很多可以免费获取的强大而便捷的图像处理、数学计算和数据挖掘模块,可以免费获取。
写作本书的时候,我遵循了以下原则。
鼓励探究式学习,让读者在阅读本书的时候,在计算机上跟着书中示例进行练习。
推广和使用免费且开源的软件,设立较低的学习门槛。显然,我们选择了 Python。
保持内容完整性和独立性。本书没有介绍计算机视觉的全部内容,而是完整呈现并解释所有代码。你应该能够重现这些示例,并可以直接在它们之上构建其他应用。
内容追求广泛而非详细,且相对于理论更注重鼓舞和激励。
总之,如果你对计算机视觉编程感兴趣,希望它能给你带来启发。
各章概览
第 1 章“基本的图像操作和处理”介绍用来处理图像的基本工具及本书用到的核心 Python 模块,同时涵盖了很多贯穿全书的基础示例。
第 2 章“局部图像描述子”讲解检测图像兴趣点的方法,以及怎样使用它们在图像间寻找相应点和区域。
第 3 章“图像到图像的映射”描述图像间基本的变换及其计算方法。涵盖从图像扭曲到创建全景图像的示例。
第 4 章“照相机模型与增强现实”介绍如何对照相机建模、生成从三维空间到图像特征的图像投影,并估计照相机视点。
第 5 章“多视图几何”讲解如何对具有相同场景、多视图几何基本面的图像进行处理,以及怎样从图像计算三维重建。
第 6 章“图像聚类”介绍一些聚类方法,并展示如何基于相似性或内容对图像进行分组和组织。
第 7 章“图像搜索”展示如何建立有效的图像检索技术,以便能够存储图像的表示,并基于图像的视觉内容搜索图像。
第 8 章“图像内容分类”描述了图像内容分类算法,以及怎样使用它们识别图像中的物体。
第 9 章“图像分割”介绍了通过聚类、用户交互或图像模型,将图像分割成有意义区域的不同技术。
第 10 章“OpenCV”展示怎样使用常用的 OpenCV 计算机视觉库 Python 接口,以及如何处理视频及摄像头的输入。