第2版 图像处理与计算机视觉算法及套用


第2版 图像处理与计算机视觉算法及套用

文章插图
图像处理与计算机视觉算法及套用(第2版)图像处理与计算机视觉算法及套用一般指本词条
【第2版 图像处理与计算机视觉算法及套用】《图像处理与计算机视觉算法及套用(第2版)》是2012年清华大学出版社出版的图书,作者是J.R.Parker 。
基本介绍书名:图像处理与计算机视觉算法及套用(第2版)
作者:J.R.Parker
译者:景丽
ISBN:9787302282228
页数:388
定价:49.00
出版社:清华大学出版社
出版时间:2012-5-1
装帧:平装
开本:16开
编辑推荐感谢计算机硬体和软体的进步,使得人们可以在不具备大量数学背景知识的情况下,就能通过算法完成複杂的图像处理 。帕克尔编着的《图像处理与计算机视觉算法及套用(第2版)》介绍了最新的算法,包括基于内容搜寻中的2D视觉方法和使用显示卡作为图像处理计算工具等 。对于软体工程师和开发人员、高级程式设计师、图形程式设计师、科学家,以及其他需要高度专业化图像处理的专家而言,都是非常理想的参考图书 。有了本书这本易学易用的算法参考书,您可以获得最具价值的图像处理套用,包括数码形态学、图像恢复和字元识别;找到清晰描述最新技术的真实世界的套用,同时省去大量数学运算所需的冗长时间 。书中涉及的所有代码都提供在本书网站上,因此您可以验证自己的理解以及组织与搜寻图像数据集的算法 。内容简介有了《图像处理与计算机视觉算法及套用(第2版)》这本易学易用的算法参考书,您可以获得最具价值的图像处理套用,包括数码形态学、图像恢复和字元识别;找到清晰描述最新技术的真实世界的套用,同时省去大量数学运算所需的冗长时间 。书中涉及的所有代码都提供在本书网站上,因此您可以验证自己的理解以及组织与搜寻图像数据集的算法 。本书特色◆ 通过编程,为软体赋予最先进的图像处理能力◆ 介绍充分发挥分类器优势的步骤◆ 在基于内容的搜寻中使用二维视觉方法◆ 执行边缘检测、图像细化、阈值和数码形态学的操作◆ 将网路中的计算机连线起来组成一个巨大的图像处理集群◆ 通过对GPU编程,来完成图像处理和视觉任务◆ 选择最佳的图像搜寻方法作者简介J.R.Parker是一名计算机专家和教师,对图像处理和视觉、视频游戏技术以及计算机仿真有着浓厚的兴趣 。在根特州立大学获得信息学博士学位之后,Parker博士在加拿大卡尔加里大学任全职教授,讲授计算机科学、艺术和戏剧 。他的作品包括150多篇技术论文和4本书,他还是视频游戏Booze Cruise的作者,这个游戏模拟了酒后驾车的情形,用于演示酒后驾车行为的危险性 。此外他还开发了很多其他教育游戏 。景丽,副教授,解放军信息工程大学计算机软体理论专业博士,研究方向为智慧型图像处理与信息隐藏 。任教后,曾在爱尔兰University College Cork(UCC)大学访学,已发表学术论文20余篇 。目前主要从事图像处理、人工智慧、信息处理等方面的研究,教授的课程有“数字图像处理”、“人工智慧原理与套用”、“智慧型信息处理”等 。图书前言人类主要的感官输入来源是视觉系统,人们付出了很多努力致力于通过人工的方式提升这种感官能力 。眼镜、望远镜、雷达、红外线感测器和光电倍增器等设备的功能都用于提升我们对世界和宇宙的观察能力 。我们甚至在轨道上也建立了望远镜(外太空的眼睛),通过很多这种望远镜能“看到”其他频谱:红外线、紫外线和X射线 。这些设备给予了我们几年前想都不敢想的视野,还能让我们观测到裸眼无法观察到的色彩 。计算机成为了通过这些设备创建我们能看见的伟大图像的必备工具 。在本书第一版写作的时候,哈勃空间望远镜就已经在轨,并能以很高的速率生成图像 。哈勃空间望远镜和欧洲的依巴谷(Hipparcos)望远镜是当时在大气层以上仅有的光学设备 。现在有了COROT、Kepler、MOST(加拿大的空间望远镜)和雨燕伽马射线暴探测器(Swift Gamma Ray Burst Explorer) 。此外,还有Spitzer(红外线)、Chandra(X射线)、GALEX(紫外线)探测器以及很多其他探测器 。本书第一版是在一台带有256MB记忆体、450Mhz奔腾III处理器的计算机上编写的 。1999年,第一台数字单眼相机投放市场:Nikon D1 。这台相机只有274万像素,价格为6000美元 。一台典型的PC机硬碟容量为100~200MB 。网路摄像机在1997年就出现了,但是非常昂贵而且解析度很低 。通过计算机处理图像的人需要有一个特殊的图像获取卡和比较昂贵的照相机才能开展自己的工作,总共需要大约1000~2000美元的设备 。相比那个年代,个人计算机和图像获取的技术已经取得了长足的发展 。1997年,在我多次浏览与图像处理和计算机视觉相关的Internet新闻组的时候,萌生了写这本书第一版的想法 。我注意到有一些提问请求反覆出现,它们有时候能得到回答,而有时候得不到回答,因此我考虑是否能写一本书来回答这些常见的问题,书籍的形式能够提供完整解释所需要的一些必备的背景信息 。然而,由于我当时刚刚完成了另一本书(Practical Computer Vision Using C),因此我没心情再写一本书了 。我继续在网上收集信息,希望有朝一日能以合理的方式整理这些信息 。我做到了——本书第一版广受好评 。感谢你们!15年后,技术发生了变化,但我惊讶地发现,计算机视觉和图像处理领域的变化却如此之小,至少其变化在可接受的範围内 。的确,理论变得更加複杂,而且三维视觉技术也肯定得到了提升 。一些机器人视觉系统已经能完成非常有意思的事情,人脸识别也步入了一个新的台阶 。然而,简单的字元识别仍然非常简单,还没有进步到能够在大部分情况下可靠工作的地步 。和其他类型的软体不一样,视觉系统并没有深入日常的生活 。为什幺呢?可能是因为视觉问题的确是一个非常棘手的问题 。或许有必要对原书进行一次修订?我的目标有所改变 。我现在对这项技术的“民主化”同样感兴趣——也就是说,让任何人都能使用这项技术,不论是在家里、在商业场合还是在学校 。当然,您要懂得计算机编程,不过编程技能已经比过去更加普遍 。这一版中构建程式所需的所有软体都可以在Internet上免费获得 。我使用了免费的编译器(Microsoft Visual Studio Express),OpenCV也能免费下载 。阻碍您开发自己的图像分析系统的唯一障碍就是您自己的编程技能 。在这一版中,有一些原始的材料并没有太大的改变 。边缘检测、细化、阈值化和形态学一直都不是研究的热点,因此它们在这一版中的相关章节和初版中的相关章节非常接近 。软体已经升级为使用Intel的OpenCV系统,对于程式设计师来说,使用这个系统可以使得图像IO和显示的工作简单得多 。甚至从网路摄像机实时获得图像并作为程式的输入也成为了一件简单的事情 。第1章讨论了OpenCV使用的基础知识,本书所有的软体都使用OpenCV作为基础 。本书中出现的大部分数学内容都是详细理解书中所描述的算法的必备内容 。只有数学才能提供图像处理和视觉系统中的高级方法所需要的推导和证明 。在某些情况下,我只涉及了表面知识,更细节的研究留给那些愿意根据每章末的参考文献按图索骥的读者 。我精心选择了描述不同方法的文献,有的文献提供了详细且複杂的数学分析,有的文献提供了清晰简洁的讲解 。然而,对于某些情况,在文献中几乎没有非常清晰的描述,而且至少需要具备大学数学水平才能理解 。在这本书中,我尝试用直观的方式描述问题,为了儘可能地描述清楚而牺牲了一些严谨性(几乎所有其他文献都很严谨) 。和正文描述相伴的软体是对数学的替代,可以提供算法的分步描述 。我彻底删除了本书第一版中的一些材料 。书中再也没有关于小波的章节了,也没有遗传算法的章节 。从另一方面说,本书新添了关于分类器的章节,我认为在第一版中这显然是一个遗漏 。这一版中新添的重要的一章是关于利用并行计算解决图像处理问题的章,其中包括通过图形卡(GPU)加速计算高达200倍 。还有全新的关于基于内容的搜寻的第11章,基于内容的搜寻指的是通过图像中的信息获取其他图像 。就好像是说:“找出另一张与这张图片类似的图片” 。基于内容的搜寻会成为未来20年的重要技术 。这项技术可以有效地使用现代大容量的磁碟驱动器;而且随着低成本高解析度数位相机的普及,可以预见人们越来越需要在大量大图像(海量像素数)中搜寻图像 。这一版中讨论的大部分算法的源码都可以在本书的网站上找到 。关于阈值处理的那一章提供了17个程式,每一个程式实现了不同的阈值算法 。现在在Internet上都可以找到细化程式、边缘检测程式以及形态学程式 。关于图像还原的一章仍是该主题实用信息的少有来源之一 。符号识别的章节被更新了;然而,由于很多方法都是商用的,因此由于专利和着作权的原因,不能描述这些方法,也不能提供相关的软体 。不过,其基础内容都得到了描述,而且可以关联到与分类器有关的内容 。我认为利用并行计算处理视觉问题的那一章是本书的亮点 。再次,利用可以下载到的工具,这一章展示了如何将网路上的所有计算机都连线起来组建成一个大型的图像处理集群 。这一章还讲解了如何利用多核处理器上的所有CPU;最重要的是,这一章还介绍了有关如何利用GPU编程的非常实用的信息,通过GPU可以进行图像处理和视觉任务处理,而不仅仅是显示图形 。最后,我还写了包含了一组精选的图像搜寻方法的一章内容 。这些方法都有对应的代码展示其算法的实现,再结合本书中的其他代码,您可以花很多时间实验自己的关于组织和搜寻图像数据集的想法和算法 。图书目录第1章 视觉系统实践——图像显示、输入/输出和库函式调用 11.1 OpenCV 11.2 基本的OpenCV代码 21.2.1 IplImage数据结构 31.2.2 读写图像 51.2.3 图像显示 61.2.4 示例 61.3 图像捕捉 91.4 和AIPCV库的接口 111.5 网站档案 151.6 参考文献 15第2章 边缘检测技术 172.1 边缘检测的目的 172.2 传统的方法和理论 192.2.1 边缘的模型 202.2.2 噪声 212.2.3 导数运算元 242.2.4 基于模板的边缘检测 292.3 边缘模型:Marr-Hildreth边缘检测器 312.4 Canny Edge边缘检测器 342.5 Shen-Castan(ISEF)边缘检测器 392.6 两种最优边缘检测器的比较 412.7 彩色边缘 442.8 Marr-Hildreth边缘检测器的原始码 462.9 Canny边缘检测器的原始码 502.10 Shen-Castan边缘检测器的原始码 582.11 网站档案 672.12 参考文献 69第3章 数码形态学 733.1 形态学定义 733.2 连通性 733.3 数码形态学的基本元素——二值操作 753.3.1 二值膨胀 753.3.2 实现二值膨胀 793.3.3 二值腐蚀 823.3.4 二值腐蚀的实现 863.3.5 开启和闭合 883.3.6 MAX——用于形态学的高级程式设计语言 933.3.7 “命中/不命中”变换 973.3.8 识别区域边缘 993.3.9 条件膨胀 1003.3.10 区域计数 1023.4 灰阶形态学 1033.4.1 开启操作和闭合操作 1053.4.2 平滑操作 1083.4.3 梯度 1093.4.4 纹理的分割 1103.4.5 对象的大小分布 1113.5 彩色形态学 1123.6 网站档案 1133.7 参考文献 115第4章 灰阶分割 1174.1 灰阶分割的基础 1174.1.1 使用边缘像素 1194.1.2 叠代选择法 1194.1.3 灰阶直方图法 1204.1.4 使用熵 1214.1.5 模糊集合 1244.1.6 最小误差阈值法 1264.1.7 单阈值选择的示例结果 1274.2 使用区域阈值 1294.2.1 Chow-Kaneko算法 1304.2.2 通过边缘对光照进行建模 1334.2.3 实现和结果 1354.2.4 对比 1364.3 鬆弛法 1374.4 移动平均法 1424.5 基于聚类的阈值 1454.6 多重阈值 1464.7 网站档案 1474.8 参考文献 148第5章 纹理和色彩 1515.1 纹理和分割 1515.2 灰阶图像中纹理的简单分析 1525.3 灰阶共生矩阵 1555.3.1 最大机率 1575.3.2 矩 1575.3.3 对比度 1575.3.4 同质性 1575.3.5 熵 1585.3.6 GLCM描述符的测试结果 1585.3.7 纹理操作符的加速 1595.4 边缘和纹理 1615.5 能量和纹理 1625.6 表面和纹理 1645.6.1 向量散射算法 1645.6.2 表面曲度算法 1665.7 分形维度 1685.8 彩色分割 1715.9 彩色纹理 1745.10 网站档案 1745.11 参考文献 175第6章 图像细化 1796.1 骨架概述 1796.2 中轴变换 1806.3 叠代式形态学方法 1816.4 等高线的使用 1886.5 把对象看做多边形 1926.6 基于力的图像细化 1946.6.1 定义 1956.6.2 力场的使用 1956.6.3 子像素骨架 1986.7 Zhang-Suen/Stentiford/Holt组合算法的原始码 2006.8 网站档案 2106.9 参考文献 211第7章 图像还原 2157.1 图像降质——真实世界 2157.2 频域 2177.2.1 傅立叶变换 2177.2.2 快速傅立叶变换 2197.2.3 逆傅立叶变换 2227.2.4 二维傅立叶变换 2237.2.5 OpenCV中的傅立叶变换 2247.2.6 创建人工模糊 2267.3 逆滤波器 2317.4 Wiener滤波器 2327.5 结构化噪声 2337.6 运动模糊——一种特殊情况 2367.7 同态滤波器——过滤照度 2377.7.1 通用频率过滤器 2387.7.2 分离光照产生的效果 2407.8 网站档案 2417.9 参考文献 242第8章 分类 2458.1 对象、模式和统计数据 2458.1.1 特徵和区域 2478.1.2 训练和测试 2518.1.3 类别内和类别外的差异 2538.2 最小距离分类器 2568.2.1 距离度量 2578.2.2 特徵之间的距离 2598.3 交叉验证 2608.4 支持向量机 2628.5 多重分类器——整合分类器 2648.5.1 合併多种方法 2648.5.2 整合类型1的回响 2658.5.3 评估 2668.5.4 回响类型之间的转换 2678.5.5 整合类型2的回响 2678.5.6 整合类型3的回响 2698.6 bagging和boosting 2698.6.1 bagging 2698.6.2 boosting 2698.7 网站档案 2718.8 参考文献 271第9章 符号识别 2739.1 问题描述 2739.2 对简单的完美图像进行OCR 2749.3 在扫描的图像上进行OCR——图像分割 2779.3.1 噪声 2779.3.2 分离独立的字形 2799.3.3 匹配模板 2829.3.4 统计识别 2849.4 传真图像的OCR——针对印刷字元 2879.4.1 朝向——倾斜检测 2879.4.2 使用边缘 2919.5 手写字元 2949.5.1 字元轮廓的属性 2959.5.2 凸缺 2979.5.3 向量模板 3019.5.4 神经网路 3059.6 使用多重分类器 3129.6.1 合併多种方法 3129.6.2 多重分类器的结果 3149.7 印刷乐谱识别——案例研究 3159.7.1 五线谱线 3159.7.2 分割 3179.7.3 音乐符号识别 3199.8 神经网路识别系统的原始码 3209.9 网站档案 3279.10 参考文献 328第10章 基于内容的搜寻——通过示例搜寻图像 33310.1 搜寻图像 33310.2 维护图像集合 33410.3 通过示例搜寻的特徵 33610.3.1 彩色图像的特徵 33610.3.2 灰阶图像特徵 34310.4 考虑空间因素 34510.4.1 整体区域 34610.4.2 矩形区域 34610.4.3 角度区域 34610.4.4 环状区域 34710.4.5 混合区域 34810.4.6 空间採样的测试 34810.5 其他要考虑的因素 35010.5.1 纹理 35110.5.2 对象、等高线和边缘 35110.5.3 数据集 35110.6 网站档案 35210.7 参考文献 353第11章 将高性能计算用于视觉处理和图像处理 35711.1 多处理器计算的範式 35811.1.1 共享记忆体 35811.1.2 讯息传递 35911.2 执行时间 35911.2.1 使用clock()函式 35911.2.2 使用QueryPerformance-Counter函式 36111.3 讯息传递接口系统 36311.3.1 安装MPI 36311.3.2 使用MPI 36411.3.3 进程间通信 36411.3.4 运行MPI程式 36611.3.5 真实的图像计算 36711.3.6 使用计算机网路——集群计算 37011.4 共享记忆体系统——使用PC的图形处理器 37211.4.1 GLSL 37311.4.2 OpenGL基础 37311.4.3 OpenGL中的纹理实践 37511.4.4 着色器编程基础 37811.4.5 读入并转换图像 38111.4.6 向着色程式传递参数 38211.4.7 整合以上内容 38411.4.8 通过GPU加速 38511.4.9 开发和测试着色器代码 38511.5 寻找所需的软体 38611.6 网站档案 38711.7 参考文献 387