《Python计算机视觉编程》

基本信息

作者: (美)Jan Erik Solem

译者: 朱文涛 袁勇

丛书名: 图灵程序设计丛书

出版社:人民邮电出版社

ISBN:9787115352323

上架时间:2014-6-10

出版日期:2014 年7月

开本:16开

页码:1

版次:1-1

所属分类:计算机 > 软件与程序设计 > Python

更多关于》》》《Python计算机视觉编程》

编辑推荐

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

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

内容简介

书籍

计算机书籍

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

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

媒体评论

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

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

目录

《python计算机视觉编程》

推荐序 xi

前言 xiii

第1章 基本的图像操作和处理 1

1.1 pil:python图像处理类库 1

1.1.1 转换图像格式 2

1.1.2 创建缩略图 3

1.1.3 复制和粘贴图像区域 3

1.1.4 调整尺寸和旋转 3

1.2 matplotlib 4

1.2.1 绘制图像、点和线 4

1.2.2 图像轮廓和直方图 6

1.2.3 交互式标注 7

1.3 numpy 8

1.3.1 图像数组表示 8

1.3.2 灰度变换 9

1.3.3 图像缩放 11

1.3.4 直方图均衡化 11

1.3.5 图像平均 13

1.3.6 图像的主成分分析(pca) 14

1.3.7 使用pickle模块 16

1.4 scipy 17

1.4.1 图像模糊 18

1.4.2 图像导数 19

1.4.3 形态学:对象计数 22

1.4.4 一些有用的scipy模块 23

1.5 高级示例:图像去噪 24

练习 28

代码示例约定 29

第2章 局部图像描述子 31

2.1 harris角点检测器 31

2.2 sift(尺度不变特征变换) 39

2.2.1 兴趣点 39

2.2.2 描述子 39

2.2.3 检测兴趣点 40

2.2.4 匹配描述子 43

2.3 匹配地理标记图像 47

2.3.1 从panoramio下载地理标记图像 47

2.3.2 使用局部描述子匹配 50

2.3.3 可视化连接的图像 52

练习 54

第3章 图像到图像的映射 57

3.1 单应性变换 57

3.1.1 直接线性变换算法 59

3.1.2 仿射变换 60

3.2 图像扭曲 61

3.2.1 图像中的图像 63

3.2.2 分段仿射扭曲 67

3.2.3 图像配准 70

3.3 创建全景图 76

3.3.1 ransac 77

3.3.2 稳健的单应性矩阵估计 78

3.3.3 拼接图像 81

练习 84

第4章 照相机模型与增强现实 85

4.1 针孔照相机模型 85

4.1.1 照相机矩阵 86

4.1.2 三维点的投影 87

4.1.3 照相机矩阵的分解 89

4.1.4 计算照相机中心 90

4.2 照相机标定 91

4.3 以平面和标记物进行姿态估计 93

4.4 增强现实 97

4.4.1 pygame和pyopengl 97

4.4.2 从照相机矩阵到opengl格式 98

4.4.3 在图像中放置虚拟物体 100

4.4.4 综合集成 102

4.4.5 载入模型 104

练习 106

第5章 多视图几何 107

5.1 外极几何 107

5.1.1 一个简单的数据集 109

5.1.2 用matplotlib绘制三维数据 111

5.1.3 计算f:八点法 112

5.1.4 外极点和外极线 113

5.2 照相机和三维结构的计算 116

5.2.1 三角剖分 116

5.2.2 由三维点计算照相机矩阵 118

5.2.3 由基础矩阵计算照相机矩阵 120

5.3 多视图重建 122

5.3.1 稳健估计基础矩阵 123

5.3.2 三维重建示例 125

5.3.3 多视图的扩展示例 129

5.4 立体图像 130

练习 135

第6章 图像聚类 137

6.1 k-means聚类 137

6.1.1 scipy聚类包 138

6.1.2 图像聚类 139

6.1.3 在主成分上可视化图像 140

6.1.4 像素聚类 142

6.2 层次聚类 144

6.3 谱聚类 152

练习 157

第7章 图像搜索 159

7.1 基于内容的图像检索 159

7.2 视觉单词 160

7.3 图像索引 164

7.3.1 建立数据库 164

7.3.2 添加图像 165

7.4 在数据库中搜索图像 167

7.4.1 利用索引获取候选图像 168

7.4.2 用一幅图像进行查询 169

7.4.3 确定对比基准并绘制结果 171

7.5 使用几何特性对结果排序 172

7.6 建立演示程序及web应用 176

7.6.1 用cherrypy创建web应用 176

7.6.2 图像搜索演示程序 176

练习 179

第8章 图像内容分类 181

8.1 k邻近分类法(knn) 181

8.1.1 一个简单的二维示例 182

8.1.2 用稠密sift作为图像特征 185

8.1.3 图像分类:手势识别 187

8.2 贝叶斯分类器 190

8.3 支持向量机 195

8.3.1 使用libsvm 196

8.3.2 再论手势识别 198

8.4 光学字符识别 199

8.4.1 训练分类器 200

8.4.2 选取特征 200

8.4.3 多类支持向量机 201

8.4.4 提取单元格并识别字符 202

8.4.5 图像校正 205

练习 206

第9章 图像分割 209

9.1 图割(graph cut) 209

9.1.1 从图像创建图 211

9.1.2 用户交互式分割 216

9.2 利用聚类进行分割 218

9.3 变分法 224

练习 226

第10章 opencv 227

10.1 opencv的python接口 227

10.2 opencv基础知识 228

10.2.1 读取和写入图像 228

10.2.2 颜色空间 228

10.2.3 显示图像及结果 229

10.3 处理视频 232

10.3.1 视频输入 232

10.3.2 将视频读取到numpy数组中 234

10.4 跟踪 234

10.4.1 光流 235

10.4.2 lucas-kanade算法 237

10.5 更多示例 243

10.5.1 图像修复 243

10.5.2 利用分水岭变换进行分割 244

10.5.3 利用霍夫变换检测直线 245

练习 246

附录a 安装软件包 247

a.1 numpy和scipy 247

a.1.1 windows 247

a.1.2 mac os x 247

a.1.3 linux 248

a.2 matplotlib 248

a.3 pil 248

a.4 libsvm 249

a.5 opencv 249

a.5.1 windows 和 unix 249

a.5.2 mac os x 249

a.5.3 linux 250

a.6 vlfeat 250

a.7 pygame 250

a.8 pyopengl 250

a.9 pydot 251

a.10 python-graph 251

a.11 simplejson 252

a.12 pysqlite 252

a.13 cherrypy 252

附录b 图像集 253

b.1 flickr 253

b.2 panoramio 254

b.3 牛津大学视觉几何组 255

b.4 肯塔基大学识别基准图像 255

b.5 其他 256

b.5.1 prague texture segmentation datagenerator与基准 256

b.5.2 微软研究院grab cut数据集 256

b.5.3 caltech 101 256

b.5.4 静态手势数据库 256

b.5.5 middlebury stereo数据集 256

附录c 图片来源 257

c.1 来自flickr的图像 257

c.2 其他图像 258

c.3 插图 258

参考文献 259

索引 263

本图书信息来源:互动出版网

《Python计算机视觉编程》的更多相关文章

  1. 简单物联网:外网访问内网路由器下树莓派Flask服务器

    最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...

  2. 利用ssh反向代理以及autossh实现从外网连接内网服务器

    前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...

  3. 外网访问内网Docker容器

    外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...

  4. 外网访问内网SpringBoot

    外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...

  5. 外网访问内网Elasticsearch WEB

    外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...

  6. 怎样从外网访问内网Rails

    外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...

  7. 怎样从外网访问内网Memcached数据库

    外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...

  8. 怎样从外网访问内网CouchDB数据库

    外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...

  9. 怎样从外网访问内网DB2数据库

    外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...

  10. 怎样从外网访问内网OpenLDAP数据库

    外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...

随机推荐

  1. [转] 使用moment.js轻松管理日期和时间

    当前时间:moment().format('YYYY-MM-DD HH:mm:ss'); 2017-03-01 16:30:12 今天是星期几:moment().format('d'); 3 Unix ...

  2. Codeforces 932E Team Work 数学

    Team Work 发现网上没有我这种写法.. i ^ k我们可以理解为对于每个子集我们k个for套在一起数有多少个. 那么我们问题就变成了 任意可重复位置的k个物品属于多少个子集. 然后我们枚举k个 ...

  3. hive的实现机制

    hive利用hdfs存储数据文件,利用MapReduce查询数据. 数据库:支持在线联机业务(实时.事务控制) 数据仓库:存储历史数据,面向主题的.主要用于离线数据分析的.

  4. “漂亮的”排序算法 Stooge Sort 如何完成排序

    Stooge Sort 是一种低效的递归排序算法,甚至慢于冒泡排序.在<算法导论>第二版第7章(快速排序)的思考题中被提到,是由Howard.Fine等教授提出的所谓“漂亮的”排序算法. ...

  5. 在windows下使用多版本Python安装相应的虚拟开发环境

    在windows下面使用多版本Python安装相应的虚拟开发环境   在搭建一个项目的时候,希望使用最新版的Python3.7版本,但是Python3.6的版本也要留下,那么问题来了,如何解决这个问题 ...

  6. 005.iSCSI客户端配置示例-Windows

    一 环境 Linux作为iSCSI服务端,Windows2008R2作为iSCSI客户端 二 服务端配置过程 2.1 客户端配置 在Linux上参照之前的配置建立三个LUN卷作为共享盘,最终配置如下: ...

  7. 用yum安装JDK

    用yum安装JDK 1.查看yum库中都有哪些jdk版本(暂时只发现了openjdk) [root@localhost ~]# yum search java|grep jdkldapjdk-java ...

  8. CF 494 F. Abbreviation(动态规划)

    题目链接:[http://codeforces.com/contest/1003/problem/F] 题意:给出一个n字符串,这些字符串按顺序组成一个文本,字符串之间用空格隔开,文本的大小是字母+空 ...

  9. Ubuntu 编译安装 nDPI

    1.安装gcc 和 build-essential sudo apt-get install gccsudo apt-get install build-essential 2.安装必要的软件 sud ...

  10. Centos 首次运行MySQL

    1:启动MySQL systemctl start mysqld.service 2:查看MySQL运行状态 systemctl status mysqld.service 3:查看默认密码 grep ...