欢迎光临
免费的PDF电子书下载网站

Python计算机视觉编程【陈熙霖作序推荐! Amazon.com计算机视觉类图书卖的很好的作品!】 PDF下载

编辑推荐

Amazon.com计算机视觉类图书**名!

  专门用Python讲解计算机视觉编程

 ;

内容简介

《Python计算机视觉编程》是计算机视觉编程的权威实践指南,依赖Python语言讲解了基础理论与算法,并通过大量示例细致分析了对象识别、基于内容的图像搜索、光学字符识别、光流法、跟踪、三维重建、立体成像、增强现实、姿态估计、全景创建、图像分割、降噪、图像分组等技术。另外,书中附带的练习还能让读者巩固并学会应用编程知识。

  《Python计算机视觉编程》适合的读者是:有一定编程与数学基础,想要了解计算机视觉的基本理论与算法的学生,以及计算机科学、信号处理、物理学、应用数学和统计学、神经生理学、认知科学等领域的研究人员和从业者。

作者简介

Jan Erik Solem

  瑞典隆德大学副教授(数学成像小组),Polar Rose公司创始人兼CTO,计算机视觉研究者,Python爱好者,技术图书作家,经常出席各种计算机视觉、图像分析、机器智能等国际会议并发表演讲。他主要关注3D重建、变分问题与优化、图像分割与识别、形状分析,有多年Python计算机视觉教学、研究和行业应用经验,技术博客为http://www.janeriksolem.net。另著有Computing with Python: An Introduction to Python for Science and Engineering一书。

Python计算机视觉编程【陈熙霖作序推荐! Amazon.com计算机视觉类图书卖的很好的作品!】 PDF下载

目录

推荐序 XI
前言 XIII
第1章 基本的图像操作和处理 
1.1 PIL:Python图像处理类库 
1.1.1 转换图像格式 
1.1.2 创建缩略图 
1.1.3 复制和粘贴图像区域 
1.1.4 调整尺寸和旋转 
1.2 Matplotlib 
1.2.1 绘制图像、点和线 
1.2.2 图像轮廓和直方图 
1.2.3 交互式标注 
1.3 NumPy 
1.3.1 图像数组表示 
1.3.2 灰度变换 
1.3.3 图像缩放 
1.3.4 直方图均衡化 
1.3.5 图像平均 
1.3.6 图像的主成分分析(PCA) 
1.3.7 使用pickle模块 
1.4 SciPy 
1.4.1 图像模糊 
1.4.2 图像导数 
1.4.3 形态学:对象计数 
1.4.4 一些有用的SciPy模块 
1.5 高级示例:图像去噪 
练习 
代码示例约定 
第2章 局部图像描述子 
2.1 Harris角点检测器 
2.2 SIFT(尺度不变特征变换) 
2.2.1 兴趣点 
2.2.2 描述子 
2.2.3 检测兴趣点 
2.2.4 匹配描述子 
2.3 匹配地理标记图像 
2.3.1 从Panoramio下载地理标记图像 
2.3.2 使用局部描述子匹配 
2.3.3 可视化连接的图像 
练习 
第3章 图像到图像的映射 
3.1 单应性变换 
3.1.1 直接线性变换算法 
3.1.2 仿射变换 
3.2 图像扭曲 
3.2.1 图像中的图像 
3.2.2 分段仿射扭曲 
3.2.3 图像配准 
3.3 创建全景图 
3.3.1 RANSAC 
3.3.2 稳健的单应性矩阵估计 
3.3.3 拼接图像 
练习 
第4章 照相机模型与增强现实 
4.1 针孔照相机模型 
4.1.1 照相机矩阵 
4.1.2 三维点的投影 
4.1.3 照相机矩阵的分解 
4.1.4 计算照相机中心 
4.2 照相机标定 
4.3 以平面和标记物进行姿态估计 
4.4 增强现实 
4.4.1 PyGame和PyOpenGL 
4.4.2 从照相机矩阵到OpenGL格式 
4.4.3 在图像中放置虚拟物体 
4.4.4 综合集成 
4.4.5 载入模型 
练习 
第5章 多视图几何 
5.1 外极几何 
5.1.1 一个简单的数据集 
5.1.2 用Matplotlib绘制三维数据 
5.1.3 计算F:八点法 
5.1.4 外极点和外极线 
5.2 照相机和三维结构的计算 
5.2.1 三角剖分 
5.2.2 由三维点计算照相机矩阵 
5.2.3 由基础矩阵计算照相机矩阵 
5.3 多视图重建 
5.3.1 稳健估计基础矩阵 
5.3.2 三维重建示例 
5.3.3 多视图的扩展示例 
5.4 立体图像 
练习 
第6章 图像聚类 
6.1 K-means聚类 
6.1.1 SciPy聚类包 
6.1.2 图像聚类 
6.1.3 在主成分上可视化图像 
6.1.4 像素聚类 
6.2 层次聚类 
6.3 谱聚类 
练习 
第7章 图像搜索 
7.1 基于内容的图像检索 
7.2 视觉单词 
7.3 图像索引 
7.3.1 建立数据库 
7.3.2 添加图像 
7.4 在数据库中搜索图像 
7.4.1 利用索引获取候选图像 
7.4.2 用一幅图像进行查询 
7.4.3 确定对比基准并绘制结果 
7.5 使用几何特性对结果排序 
7.6 建立演示程序及Web应用 
7.6.1 用CherryPy创建Web应用 
7.6.2 图像搜索演示程序 
练习 
第8章 图像内容分类 
8.1 K邻近分类法(KNN) 
8.1.1 一个简单的二维示例 
8.1.2 用稠密SIFT作为图像特征 
8.1.3 图像分类:手势识别 
8.2 贝叶斯分类器 
8.3 支持向量机 
8.3.1 使用LibSVM 
8.3.2 再论手势识别 
8.4 光学字符识别 
8.4.1 训练分类器 
8.4.2 选取特征 
8.4.3 多类支持向量机 
8.4.4 提取单元格并识别字符 
8.4.5 图像校正 
练习 
第9章 图像分割 
9.1 图割(Graph Cut) 
9.1.1 从图像创建图 
9.1.2 用户交互式分割 
9.2 利用聚类进行分割 
9.3 变分法 
练习 
第10章 OpenCV 
10.1 OpenCV的Python接口 
10.2 OpenCV基础知识 
10.2.1 读取和写入图像 
10.2.2 颜色空间 
10.2.3 显示图像及结果 
10.3 处理视频 
10.3.1 视频输入 
10.3.2 将视频读取到NumPy数组中 
10.4 跟踪 
10.4.1 光流 
10.4.2 Lucas-Kanade算法 
10.5 更多示例 
10.5.1 图像修复 
10.5.2 利用分水岭变换进行分割 
10.5.3 利用霍夫变换检测直线 
练习 
附录A 安装软件包 
A.1 NumPy和SciPy 
A.1.1 Windows 
A.1.2 Mac OS X 
A.1.3 Linux 
A.2 Matplotlib 
A.3 PIL 
A.4 LibSVM 
A.5 OpenCV 
A.5.1 Windows和Unix 
A.5.2 Mac OS X 
A.5.3 Linux 
A.6 VLFeat 
A.7 PyGame 
A.8 PyOpenGL 
A.9 Pydot 
A.10 Python-graph 
A.11 Simplejson 
A.12 PySQLite 
A.13 CherryPy 
附录B 图像集 
B.1 Flickr 
B.2 Panoramio 
B.3 牛津大学视觉几何组 
B.4 肯塔基大学识别基准图像 
B.5 其他 
B.5.1 Prague Texture Segmentation Datagenerator与基准 
B.5.2 微软研究院Grab Cut数据集 
B.5.3 Caltech 101 
B.5.4 静态手势数据库 
B.5.5 Middlebury Stereo数据集 
附录C 图片来源 
C.1 来自Flickr的图像 
C.2 其他图像 
C.3 插图 
参考文献 
索引

媒体评论

“本书介绍了各种图像分析工具,是了解计算机视觉编程的‘必备’读物。”

  ——James A. Cox,美国《中西部书评》(Midwest Book Review)总编辑

前沿

今天,图像和视频无处不在,在线照片分享网站和社交网络上的图像有数十亿之多。几乎对于任意可能的查询图像,搜索引擎都会给用户返回检索的图像。实际上,几乎所有手机和计算机都有内置的摄像头,所以在人们的设备中,有几G 的图像和视频是一件很寻常的事。
  计算机视觉就是用计算机编程,并设计算法来理解在这些图像中有什么。计算机视觉的有力应用有图像搜索、机器人导航、医学图像分析、照片管理等。
  本书旨在为计算机视觉实战提供一个简单的切入点,让学生、研究者和爱好者充分理解其基础理论和算法。本书中的编程语言是Python,Python 自带了很多可以免费获取的强大而便捷的图像处理、数学计算和数据挖掘模块,可以免费获取。
  写作本书的时候,我遵循了以下原则。
  鼓励探究式学习,让读者在阅读本书的时候,在计算机上跟着书中示例进行练习。
  推广和使用免费且开源的软件,设立较低的学习门槛。显然,我们选择了Python。
  保持内容完整性和独立性。本书没有介绍计算机视觉的全部内容,而是完整呈现并 解释所有代码。你应该能够重现这些示例,并可以直接在它们之上构建其他应用。
  内容追求广泛而非详细,且相对于理论更注重鼓舞和激励。
  总之,如果你对计算机视觉编程感兴趣,希望它能给你带来启发。
  先决条件和概述
  本书主要针对各种应用和问题探讨理论及算法,下面简单概括一下。
  读者须知
  基本的编程经验。你需要会使用编辑器,能够运行脚本,知道如何构建代码以及基 本数据类型。熟悉Python,或诸如Ruby、Matlab 等其他脚本语言,这也会对你理解本书有所帮助。
  数学基础。如果你知道矩阵、向量、矩阵乘法、标准数学函数以及导数和梯度等概念, 这对于充分利用其中示例非常有益。对于一些较高级的数学例子,你可以轻松跳过。
  本书内容
  用Python 对图像进行实战编程。
  现实世界中各种应用背后的计算机视觉技术。
  一些基本算法,以及如何实现并应用这些算法。
  本书中的代码示例会向你展示物体识别、基于内容的图像检索、图像搜索、光学字符识别、光流、跟踪、三维重建、立体成像、增强现实、姿态估计、全景创建、图像分割、降噪、图像分组等内容。
  各章概览
  第1 章 “基本的图像操作和处理”介绍用来处理图像的基本工具及本书用到的核心Python 模块,同时涵盖了很多贯穿全书的基础示例。
  第2 章 “局部图像描述子”讲解检测图像兴趣点的方法,以及怎样使用它们在图像间寻找相应点和区域。
  第3 章 “图像

免费在线读

  【前言】
  今天,图像和视频无处不在,在线照片分享网站和社交网络上的图像有数十亿之多。几乎对于任意可能的查询图像,搜索引擎都会给用户返回检索的图像。实际上,几乎所有手机和计算机都有内置的摄像头,所以在人们的设备中,有几G 的图像和视频是一件很寻常的事。
  计算机视觉就是用计算机编程,并设计算法来理解在这些图像中有什么。计算机视觉的有力应用有图像搜索、机器人导航、医学图像分析、照片管理等。
  本书旨在为计算机视觉实战提供一个简单的切入点,让学生、研究者和爱好者充分理解其基础理论和算法。本书中的编程语言是Python,Python 自带了很多可以免费获取的强大而便捷的图像处理、数学计算和数据挖掘模块,可以免费获取。
  写作本书的时候,我遵循了以下原则。
  鼓励探究式学习,让读者在阅读本书的时候,在计算机上跟着书中示例进行练习。 ;
  推广和使用免费且开源的软件,设立较低的学习门槛。显然,我们选择了Python。 ;
  保持内容完整性和独立性。本书没有介绍计算机视觉的全部内容,而是完整呈现并 解释所有代码。你应该能够重现这些示例,并可以直接在它们之上构建其他应用。
  内容追求广泛而非详细,且相对于理论更注重鼓舞和激励。 ;
  总之,如果你对计算机视觉编程感兴趣,希望它能给你带来启发。
  先决条件和概述
  本书主要针对各种应用和问题探讨理论及算法,下面简单概括一下。
  读者须知
  基本的编程经验。你需要会使用编辑器,能够运行脚本,知道如何构建代码以及基 本数据类型。熟悉Python,或诸如Ruby、Matlab 等其他脚本语言,这也会对你理解本书有所帮助。
  数学基础。如果你知道矩阵、向量、矩阵乘法、标准数学函数以及导数和梯度等概念, 这对于充分利用其中示例非常有益。对于一些较高级的数学例子,你可以轻松跳过。
  本书内容
  用Python 对图像进行实战编程。 ;
  现实世界中各种应用背后的计算机视觉技术。 ;
  一些基本算法,以及如何实现并应用这些算法。 ;
  本书中的代码示例会向你展示物体识别、基于内容的图像检索、图像搜索、光学字符识别、光流、跟踪、三维重建、立体成像、增强现实、姿态估计、全景创建、图像分割、降噪、图像分组等内容。
  各章概览
  第1 章 “基本的图像操作和处理”介绍用来处理图像的基本工具及本书用到的核心Python 模块,同时涵盖了很多贯穿全书的基础示例。
  第2 章 “局部图像描述子”讲解检测图像兴趣点的方法,以及怎样使用它们在图像间寻找相应点和区域。
  第3 章 “图像到图像的映射”描述图像间基本的变换及其计算方法。涵盖从图像扭曲到创建全景图像的示例。
  第4 章 “照相机模型与增强现实”介绍如何对照相机建模、生成从三维空间到图像特征的图像投影,并估计照相机视点。
  第5 章 “多视图几何”讲解如何对具有相同场景、多视图几何基本面的图像进行处理,以及怎样从图像计算三维重建。
  第6 章 “图像聚类”介绍一些聚类方法,并展示如何基于相似性或内容对图像进行分组和组织。
  第7 章 “图像搜索”展示如何建立有效的图像检索技术,以便能够存储图像的表示, 并基于图像的视觉内容搜索图像。
  第8 章 “图像内容分类”描述了图像内容分类算法,以及怎样使用它们识别图像中的物体。
  第9 章 “图像分割”介绍了通过聚类、用户交互或图像模型,将图像分割成有意义区域的不同技术。
  第10 章 “OpenCV”展示怎样使用常用的OpenCV 计算机视觉库Python 接口,以及如何处理视频及摄像头的输入。
  本书结尾有参考文献。文献条目的引用用方括号表示,如[20]。
  计算机视觉简介
  计算机视觉是一门对图像中信息进行自动提取的学科。信息的内容相当广泛,包括三维模型、照相机位置、目标检测与识别,以及图像内容的分组与搜索等。本书中, 我们使用广义的计算机视觉概念,包括图像扭曲、降噪和增强现实等①。
  计算机视觉有时试图模拟人类视觉,有时使用数据和统计方法,而有时几何是解决问题的关键。在本书中,我们试图对此进行全面介绍。
  实用计算机视觉混合了编程、建模和数学技巧,有时很难掌握。我本着“力求简单, 又不影响理解”的精神,有意用最少的理论来展示这些内容。书中对于数学知识的介绍是为了帮助读者理解算法,有些章(主要是第4 章和第5 章)无法避免地涉及很多数学理论。只要读者愿意,可以跳过这些数学理论,直接使用示例代码。
  注1: 这些例子生成新的图像,并且比实际地从图像中提取信息需要更多的图像处理。
  Python和NumPy ;
  Python 是一门编程语言,其使用贯穿了全书的示例代码。Python 是一种简洁明了的语言,对于输入/ 输出、数字、图像及绘图都具有良好的支持。这门语言的一些特性需要我们逐渐适应,比如缩进和紧凑语法。要运行代码示例,你需要安装Python 2.6 或之后的版本,因为只有这些版本才提供本书中用到的很多工具包。Python 3.x 版本与2.x 版本有很多语法差异,并且不兼容2.x 版本,也不兼容我们所需的工具包。
  熟悉一些基本Python 操作会更容易理解这些内容。对于Python 初学者,我建议读一下Mark Lutz 的书Learning Python[20] 和http://www.python.org/ 上的在线文档。
  在进行计算机视觉编程的时候,我们需要在向量、矩阵的表示上进行操作,这可以通过Python 的NumPy 模块处理;在该模块中,向量和矩阵是用array 类型表示的。对于图像,我们也将采用这种类型的表示。Travis Oliphant 的免费电子书Guide to NumPy[24] 是一本不错的NumPy 参考手册;http://numpy.scipy.org/ 上的文档对于刚接触NumPy 的读者来说是一个很好的起点。对于结果的可视化,我们会用到Matplotlib 模块;而对于更高级的数学,我们会用到SciPy 模块。这些就是你会用到的核心模块,详见第1 章。
  除了这些核心模块,对于某些特殊目的,比如读取JSON 或XML、载入并保存数据、生成图、图形编程、Web 演示、分类器等,我们还会用到很多其他免费模块。这些模块只有在特殊的应用和演示中才需要,如果你对于某种应用不感兴趣,可以跳过。
  这里有必要提一下IPython,它是一个交互式Python 壳,使调试和实验变得更简单。对应文档及下载地址见http://ipython.org/。
  排版约定
  代码如下: ;
  # 一些点
  x = [100,100,400,400] ;
  y = [200,500,200,500] ;
  # 绘制这些点
  plot(x,y) ;
  本书中的字体约定如下。
  楷体 ;
  用于定义。
  等宽字体( Constant width) ;
  用于函数、Python 模块及代码示例,也用于控制台打印输出。
  数学公式为内联式(如() xw x f b T = ),或者单独居中: ;
  () xwf xb ii i = / ;
  只有需要参考的时候我们才对公式进行编号。
  在介绍数学知识的部分,标量使用小写字母(s, r, λ, θ…),矩阵(包括图像数组I) 使用大写加粗(A, V, H,…),向量则小写加粗(t, c,…),二维(图像)和三维中的点分别用x=[x, y] 和X[X, Y, Z] 表示。
  使用代码示例
  本书旨在帮助你完成工作。通常,你可以在程序或文档中使用本书的代码。你不必联系我们请求许可,除非你要复制本书的大量代码。例如,用本书的几段代码编写程序不需要获得许可;售卖或再分发O’Reilly 的图书示例光盘需要获得许可;引用本书和示例代码回答问题不需要获得许可;将本书中的大量示例代码纳入产品文档中需要获得许可。
  我们对你在使用时声明引用信息表示感谢,但不强制要求。引用信息通常包括标题、作者、出版商和ISBN, 例如“Programming Computer Vision with Python by Jan Erik Solem (O’Reilly). Copyright 2012 Jan Erik Solem, 978-1-449-31654-9.” ;
  如果你觉得使用的代码示例超出合理引用或上述许可范围,请随时和我们联系: permissions@oreilly.com。
  Safari Books Online ;
  Safari Books Online(www.safaribooksonline.com)是应需而变的数字图书馆。它同时以图书和视频的形式出版世界顶级技术和商务作家的专业作品。
  Safari Books Online 是技术专家、软件开发人员、Web 设计师、商务人士和创意人士开展调研、解决问题、学习和认证培训的第一手资料。
  对于组织团体、政府机构和个人,Safari Books Online 提供各种产品组合和灵活的定价策略。用户可通过一个功能完备的数据库检索系统访问O’Reilly Media、Prentice Hall Professional、Addison-Wesley Professional、Microsoft Press、Sams、Que、Peachpit Press、Focal Press、Cisco Press、John Wiley &; Sons、Syngress、Morgan Kaufmann、IBM Redbooks、Packt、Adobe Press、FT Press、Apress、Manning、New Riders、McGraw-Hill、Jones &; Bartlett、Course Technology 以及其他几十家出版社的上千种图书、培训视频和正式出版之前的书稿。要了解Safari Books Online 的更多信息,我们网上见。 ;
  联系我们
  请把对本书的评价和问题发给出版社。
  美国:
  O’Reilly Media, Inc.
  1005 Gravenstein Highway North ;
  Sebastopol, CA 95472 ;
  中国:
  北京市西城区西直门南大街2 号成铭大厦C 座807 室(100035) ;
  奥莱利技术咨询(北京)有限公司
  O’Reilly 的每一本书都有专属网页,你可以在那儿找到本书的相关信息,包括勘误表、示例代码以及其他信息。本书的网站地址是: ;
  http://shop.oreilly.com/product/0636920022923.do ;
  对于本书的评论和技术性问题,请发送电子邮件到: ;
  bookquestions@oreilly.com ;
  要了解更多O’Reilly 图书、培训课程、会议和新闻的信息,请访问以下网站: ;
  http://www.oreilly.com ;
  我们在Facebook 的地址如下: ;
  http://facebook.com/oreilly ;
  请关注我们的Twitter 动态: ;
  http://twitter.com/oreillymedia ;
  我们的YouTube 视频地址如下: ;
  http://www.youtube.com/oreillymedia ;
  致谢
  感谢参与本书写作及出版的每一个人,感谢整个O’Reilly 团队给予的帮助。特别要感谢Andy Oram(O’Reilly)的编辑工作,以及Paul Anagnostopoulos(Windfall Software)的高效出版工作。
  很多人对于我分享在网上的书稿发表了评论。感谢Klas Josephson 和Hkan Ard 就本书细致给出意见及反馈,而Fredrik Kahl 和Pau Gargallo 帮助进行了核实。感谢所有读者的鼓励,以及对本书文本和代码示例的改进。很多陌生人通过邮件分享了对书稿的看法,这对我而言是一个巨大的动力。
  最后,感谢朋友和家人对我夜以继日写作的理解和支持。特别要感谢长久以来一直支持着我的妻子Sara。

Python计算机视觉编程【陈熙霖作序推荐! Amazon.com计算机视觉类图书卖的很好的作品!】 pdf下载声明

本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版

pdf下载地址

版权归出版社和作者所有,下载链接已删除。如果喜欢,请购买正版!

链接地址:Python计算机视觉编程【陈熙霖作序推荐! Amazon.com计算机视觉类图书卖的很好的作品!】