标题：图像处理与计算机视觉算法及应用（第2版）
图书信息
作者：J.R.Parker 著 景丽译
图书详细信息： ISBN：9787302282228 定价：49元 印次：1-1 装帧：平装 印刷日期：2012-4-28
图书简介
有了《图像处理与计算机视觉算法及应用(第2版)》这本易学易用的算法参考书，您可以获得最具价值的图像处理应用，包括数码形态学、图像恢复和字符识别；找到清晰描述最新技术的真实世界的应用，同时省去大量数学运算所需的冗长时间。书中涉及的所有代码都提供在本书网站上，因此您可以验证自己的理解以及组织与搜索图像数据集的算法。本书特色◆　通过编程，为软件赋予最先进的图像处理能力◆　介绍充分发挥分类器优势的步骤◆　在基于内容的搜索中使用二维视觉方法◆　执行边缘检测、图像细化、阈值和数码形态学的操作◆　将网络中的计算机连接起来组成一个巨大的图像处理集群◆　通过对GPU编程，来完成图像处理和视觉任务◆　选择最佳的图像搜索方法
图书前言
人类主要的感官输入来源是视觉系统，人们付出了很多努力致力于通过人工的方式提升这种感官能力。眼镜、望远镜、雷达、红外线传感器和光电倍增器等设备的功能都用于提升我们对世界和宇宙的观察能力。我们甚至在轨道上也建立了望远镜(外太空的眼睛)，通过很多这种望远镜能“看到”其他频谱：红外线、紫外线和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[1]