内容简介
《精通Matlab数字图像处理与识别》将理论知识、科学研究和工程实践有机结合起来,内容涉及数字图像处理和识别技术的方方面面,包括图像的点运算、几何变换、空域和频域滤波、小波变换、图像复原、形态学处理、图像分割以及图像特征提取的相关内容;同时对于机器视觉进行了前导性的探究,重点介绍了两种目前在工程技术领域非常流行的分类技术——人工神经网络(ANN)和支持向量机(SVM),并在人脸识别这样的热点问题中结束本书。
《精通Matlab数字图像处理与识别》结构紧凑,内容深入浅出,讲解图文并茂,适合计算机、通信和自动化等相关专业的本科生、研究生,以及工作在图像处理和识别领域一线的广大工程技术人员参考使用。
作者简介
张铮 大学教授,专攻图形和图像处理以及识别技术,承担了多项国家级项目,对Matlab有很深入的研究。
内页插图
目录
第1章 初识数字图像处理与识别
1.1 数字图像
1.1.1 什么是数字图像
1.1.2 数字图像的显示
1.1.3 数字图像的分类
1.1.4 数字图像的实质
1.1.5 数字图像的表示
1.1.6 图像的空间和灰度级分辨率
1.2 数字图像处理与识别
1.2.1 从图像处理到图像识别
1.2.2 数字图像处理与识别的应用实例
1.2.3 数字图像处理与识别的基本步骤
1.3 数字图像处理的预备知识
1.3.1 邻接性、连通性、区域和边界
1.3.2 距离度量的几种方法
1.3.3 基本的图像操作
第2章 Matlab数字图像处理基础
2.1 Matlab R2011a简介
2.1.1 Matlab软件环境
2.1.2 文件操作
2.1.3 在线帮助的使用
2.1.4 变量的使用
2.1.5 矩阵的使用
2.1.6 细胞数组和结构体
2.1.7 关系运算与逻辑运算
2.1.8 常用图像处理数学函数
2.1.9 Matlab程序流程控制
2.1.10 M文件编写
2.1.11 Matlab函数编写
2.2 Matlab图像类型及其存储方式
2.3 Matlab的图像转换
2.4 读取和写入图像文件
2.5 图像的显示
第3章 图像的点运算
3.1 灰度直方图
3.1.1 理论基础
3.1.2 Matlab实现
3.2 灰度的线性变换
3.2.1 理论基础
3.2.2 Matlab实现
3.3 灰度对数变换
3.3.1 理论基础
3.3.2 Matlab实现
3.4 伽玛变换
3.4.1 理论基础
3.4.2 Matlab实现
3.5 灰度阈值变换
3.5.1 理论基础
3.5.2 Matlab实现
3.6 分段线性变换
3.6.1 理论基础
3.6.2 Matlab实现
3.7 直方图均衡化
3.7.1 理论基础
3.7.2 Matlab实现
3.8 直方图规定化
3.8.1 理论基础
3.8.2 Matlab实现
第4章 图像的几何变换
4.1 解决几何变换的一般思路
4.2 图像平移
4.2.1 图像平移的变换公式
4.2.2 图像平移的Matlab实现
4.3 图像镜像
4.3.1 图像镜像的变换公式
4.3.2 图像镜像的Matlab实现
4.4 图像转置
4.4.1 图像转置的变换公式
4.4.2 图像转置的Matlab实现
4.5 图像缩放
4.5.1 图像缩放的变换公式
4.5.2 图像缩放的Matlab实现
4.6 图像旋转
4.6.1 以原点为中心的图像旋转
4.6.2 以任意点为中心的图像旋转
4.6.3 图像旋转的Matlab实现
4.7 插值算法
4.7.1 最近邻插值
4.7.2 双线性插值
4.7.3 高阶插值
4.8 Matlab综合案例——人脸图像配准
4.8.1 什么是图像配准
4.8.2 人脸图像配准的Matlab实现
第5章 空间域图像增强
5.1 图像增强基础
5.1.1 为什么要进行图像增强
5.1.2 图像增强的分类
5.2 空间域滤波
5.2.1 空间域滤波和邻域处理
5.2.2 边界处理
5.2.3 相关和卷积
5.2.4 滤波操作的Matlab实现
5.3 图像平滑
5.3.1 平均模板及其实现
5.3.2 高斯平滑及其实现
5.3.3 自适应平滑滤波
5.4 中值滤波
5.4.1 性能比较
5.4.2 一种改进的中值滤波策略
5.4.3 中值滤波的工作原理
5.5 图像锐化
5.5.1 理论基础
5.5.2 基于一阶导数的图像增强——梯度算子
5.5.3 基于二阶微分的图像增强——拉普拉斯算子
5.5.4 基于一阶与二阶导数的锐化算子的比较
5.5.5 高提升滤波及其实现
5.5.6 高斯-拉普拉斯变换(Laplacian of a Gaussian, LoG)
第6章 频率域图像增强
6.1 频率域滤波——与空间域滤波殊途同归
6.2 傅立叶变换基础知识
6.2.1 傅立叶级数
6.2.2 傅立叶变换
6.2.3 幅度谱、相位谱和功率谱
6.2.4 傅立叶变换的实质-基的转换
6.3 快速傅立叶变换及实现
6.3.1 FFT变换的必要性
6.3.2 常见的FFT算法
6.3.3 按时间抽取的基-2 FFT算法
6.3.4 离散反傅立叶变换的快速算法
6.3.5 N维快速傅立叶变换
6.3.6 Matlab实现
6.4 频域滤波基础
6.4.1 频域滤波与空域滤波的关系
6.4.2 频域滤波的基本步骤
6.4.3 频域滤波的Matlab实现
6.5 频域低通滤波器
6.5.1 理想低通滤波器及其实现
6.5.2 高斯低通滤波器及其实现
6.6 频率域高通滤波器
6.6.1 高斯高通滤波器及其实现
6.6.2 频域拉普拉斯滤波器及其实现
6.7 Matlab综合案例——利用频域滤波消除周期噪声
6.7.1 频域带阻滤波器
6.7.2 带阻滤波消除周期噪声
6.8 频域滤波器与空域滤波器之间的内在联系
第7章 小波变换
7.1 多分辨率分析
7.1.1 多分辨率框架
7.1.2 分解与重构的实现
7.1.3 图像处理中分解与重构的实现
7.2 Gabor多分辨率分析
7.3 常见小波分析
7.3.1 Haar小波
7.3.2 Daubechies小波
7.4 高维小波
第8章 图像复原
8.1 图像复原的一般理论
8.1.1 图像复原的基本概念
8.1.2 图像复原的一般模型
8.2 实用图像复原技术
8.2.1 图像复原的数值计算方法
8.2.2 非线性复原
第9章 彩色图像处理
9.1 彩色基础
9.1.1 什么是彩色
9.1.2 我们眼中的彩色
9.1.3 三原色
9.1.4 计算机中的颜色表示
9.2 彩色模型
9.2.1 RGB模型
9.2.2 CMY、CMYK模型
9.2.3 HSI模型
9.2.4 HSV模型
9.2.5 YUV模型
9.2.6 YIQ模型
9.2.7 Lab模型简介
9.3 全彩色图像处理基础
9.3.1 彩色补偿及其Matlab实现
9.3.2 彩色平衡及其Matlab实现
第10章 形态学图像处理
10.1 预备知识
10.2 二值图像中的基本形态学运算
10.2.1 腐蚀及其实现
10.2.2 膨胀及其实现
10.2.3 开运算及其实现
10.2.4 闭运算及其实现
10.3 二值图像中的形态学应用
10.3.1 击中与击不中变换及其实现
10.3.2 边界提取与跟踪及其实现
10.3.3 区域填充
10.3.4 连通分量提取及其实现
10.3.5 细化算法
10.3.6 像素化算法
10.3.7 凸壳
10.3.8 bwmorph函数
10.4 灰度图像中的基本形态学运算
10.4.1 灰度膨胀及其实现
10.4.2 灰度腐蚀及其实现
10.4.3 灰度开、闭运算及其实现
10.4.4 顶帽变换(top-hat)及其实现
10.5 小结
第11章 图像分割
11.1 图像分割概述
11.2 边缘检测
11.2.1 边缘检测概述
11.2.2 常用的边缘检测算子
11.2.3 Matlab实现
11.3 霍夫变换
11.3.1 直线检测
11.3.2 曲线检测
11.3.3 任意形状的检测
11.3.4 Hough变换直线检测的Matlab实现
11.4 阈值分割
11.4.1 阈值分割方法
11.4.2 Matlab实现
11.5 区域分割
11.5.1 区域生长及其实现
11.5.2 区域分裂与合并及其Matlab实现
11.6 基于形态学分水岭算法的图像分割
11.6.1 形态学分水岭算法
11.6.2 Matlab实现
11.7 Matlab综合案例——分水岭算法
11.8 小结
第12章 特征提取
12.1 图像特征概述
12.1.1 什么是图像特征
12.1.2 图像特征的分类
12.1.3 特征向量及其几何解释
12.1.4 特征提取的一般原则
12.1.5 特征的评价标准
12.2 基本统计特征
12.2.1 简单的区域描绘子及其Matlab实现
12.2.2 直方图及其统计特征
12.2.3 灰度共现矩阵
12.3 特征降维
12.3.1 维度灾难
12.3.2 特征选择简介
12.3.3 主成分分析
12.3.4 快速PCA及其实现
12.4 综合案例——基于PCA的人脸特征抽取
12.4.1 数据集简介
12.4.2 生成样本矩阵
12.4.3 主成分分析
12.4.4 主成分脸可视化分析
12.4.5 基于主分量的人脸重建
12.5 局部二进制模式
12.5.1 基本LBP
12.5.2 圆形邻域的LBPP,R算子
12.5.3 统一化LBP算子——Uniform LBP及其Matlab实现
12.5.4 MB-LBP及其Matlab实现
12.5.5 图像分区及其Matlab实现
第13章 图像识别初步
13.1 模式识别概述
13.1.1 模式与模式识别
13.1.2 图像识别
13.1.3 关键概念
13.1.4 识别问题的一般描述
13.1.5 过度拟合
13.1.6 模式识别系统结构
13.1.7 训练/学习方法分类
13.2 模式识别方法分类
13.2.1 统计模式识别
13.2.2 句法模式识别
13.2.3 小结
13.3 最小距离分类器和模板匹配
13.3.1 最小距离分类器及其Matlab实现
13.3.2 基于相关的模板匹配
13.3.3 相关匹配的计算效率
第14章 人工神经网络
14.1 人工神经网络简介
14.1.1 仿生学动机
14.1.2 人工神经网络的应用实例
14.2 人工神经网络的理论基础
14.2.1 训练线性单元的梯度下降算法
14.2.2 多层人工神经网络
14.2.3 sigmoid单元
14.2.4 反向传播(BP,back propogation)算法
14.2.5 训练中的问题
14.3 神经网络算法的可视化实现
14.3.1 NNTool的主要功能及应用
14.3.2 神经网络的仿真测试
14.4 Matlab神经网络工具箱
14.4.1 网络的创建
14.4.2 网络初始化
14.4.3 网络训练
14.4.4 网络仿真测试
14.4.5 网络性能分析
第15章 支持向量机
15.1 支持向量机的分类思想
15.1.1 分类模型的选择
15.1.2 模型参数的选择
15.2 支持向量机的理论基础
15.2.1 线性可分情况下的SVM
15.2.2 非线性可分情况下的C-SVM
15.2.3 需要核函数映射情况下的SVM
15.2.4 推广到多类问题
15.3 SVM的Matlab实现
15.3.1 训练——svmtrain
15.3.2 分类——svmclassify
15.3.3 应用实例
15.4 综合案例——基于PCA和SVM的人脸识别系统
15.4.1 人脸识别简介
15.4.2 前期处理
15.4.3 数据规格化
15.4.4 核函数的选择
15.4.5 参数选择
15.4.6 构建多类SVM分类器
15.4.7 实验结果
15.5 SVM在线资源
15.5.1 Matlab的SVM工具箱
15.5.2 LIBSVM的简介
参考文献
前言/序言
穿越像素的深邃,洞悉图像的灵魂——《精通MATLAB数字图像处理与识别》导读 在信息爆炸的时代,图像信息以其直观、丰富、高效的特点,渗透到科学研究、工程应用、医疗诊断、安全监控、艺术设计等几乎所有领域。从微观世界的细胞形态到宏观宇宙的星系图景,从精密的工业检测到生动的艺术创作,图像无处不在,承载着我们认识世界、改造世界的重要信息。然而,原始的图像数据往往是复杂、模糊、充满噪声的,如何从中提取出有价值的信息,识别出关键特征,并最终实现智能化的分析与应用,成为了摆脱信息洪流、把握事物本质的关键。 《精通MATLAB数字图像处理与识别》正是一部引领读者深入探索图像世界奥秘的力作。本书旨在为广大高校师生、科研人员、工程技术人员以及对数字图像处理与识别技术充满热情的读者,提供一套系统、全面、实用的学习与实践指南。我们不以枯燥的理论堆砌为目的,而是紧密结合MATLAB这一强大的工程计算软件平台,将理论知识与实际应用无缝对接,让读者在亲手实践中,逐步掌握数字图像处理与识别的核心技术,并能独立解决实际问题。 洞悉图像本质:从像素到语义的跃迁 本书的首要目标是帮助读者建立起对数字图像的深刻理解。我们将从数字图像的基本构成元素——像素出发,阐释图像的采样、量化等形成过程,理解不同色彩空间(如RGB、HSV、灰度)的特性及其在图像处理中的应用。接着,我们将深入探讨图像的几何变换,包括平移、旋转、缩放、裁剪等,理解这些变换如何改变图像的空间结构,并在图像配准、目标跟踪等领域发挥关键作用。 精湛技艺:掌握核心图像处理技术 数字图像的“美颜”与“瘦身”——图像增强与复原是本书的核心内容之一。读者将学习如何运用多种技术手段,改善图像的视觉质量。这包括点运算,如灰度变换(对数变换、指数变换、分段线性变换)、直方图均衡化与规定化,它们能有效调整图像的对比度和亮度,突出细节。线性的空间滤波器,如平滑滤波(均值滤波、高斯滤波)可以去除噪声,但也可能导致细节模糊;锐化滤波(Sobel、Prewitt、Laplacian算子)则能增强边缘和细节。非线性滤波器,如中值滤波,在去除椒盐噪声方面表现出色,同时能更好地保留边缘。 噪声是图像质量的“杀手”,本书将详细介绍各种噪声的成因及其抑制方法。从简单的全局阈值分割到更复杂的局部阈值方法,读者将掌握如何将图像分割成有意义的区域,为后续的特征提取奠定基础。同时,形态学图像处理,包括膨胀、腐蚀、开运算、闭运算等,将展示其在去除小物体、连接断裂区域、填充孔洞等方面的强大能力,为图像的后处理和特征提取提供有力支撑。 洞察万象:揭示图像识别的奥秘 图像处理的最终目的往往是为了实现对图像内容的理解与识别。本书将引领读者走进图像识别的殿堂,从特征提取到分类决策,层层递进。 特征提取——图像的“身份识别码”: 图像的“特征”是其内在的、能够描述其本质属性的信息。本书将介绍多种经典的特征提取方法。边缘检测是识别物体轮廓的关键,我们将学习Canny、Sobel、Laplacian等算子,理解它们如何捕捉图像中的亮度变化。角点检测,如Harris角点检测,能够找到图像中具有稳定性的关键点,它们在图像匹配、目标跟踪中至关重要。纹理特征,如LBP(局部二值模式)、GLCM(灰度共生矩阵),能够描述图像的粗糙度、平滑度等,对于识别具有特定材质的物体非常有效。尺度不变特征变换(SIFT)、加速鲁棒特征(SURF)等更高级的特征描述子,能够提取出在不同尺度、旋转下都保持不变的局部特征,极大地提高了匹配的鲁棒性。 分类与识别——让机器“看懂”世界: 提取出的特征需要被输入到分类器中,才能实现对图像的识别。本书将重点介绍几种主流的分类器。支持向量机(SVM)以其强大的分类能力和良好的泛化性能,在图像分类任务中得到广泛应用。K近邻(KNN)算法简单易懂,适合处理中小型数据集。朴素贝叶斯分类器在文本和图像分类中也扮演着重要角色。主成分分析(PCA)作为一种降维技术,可以有效地减少特征的维度,同时保留大部分信息,提高分类效率。 深入实践:MATLAB的强大助力 贯穿全书的是MATLAB强大的工程计算能力和丰富的图像处理工具箱。我们将利用MATLAB的图像处理工具箱(Image Processing Toolbox)以及计算机视觉工具箱(Computer Vision Toolbox),通过丰富的实例代码,直观地展示各种算法的实现过程。读者将学习如何使用MATLAB的函数,如`imread`读取图像,`imshow`显示图像,`rgb2gray`进行颜色空间转换,`imfilter`进行滤波,`imbinarize`进行二值化,`edge`进行边缘检测,`detectHarrisFeatures`进行角点检测,`fitcsvm`训练SVM分类器等等。 每一章节都配有详细的MATLAB代码示例,读者可以即时运行、调试,观察算法的效果,理解参数的含义,并在此基础上进行修改和拓展,将理论知识转化为实际操作能力。本书力求做到“学以致用”,让读者在解决实际问题的过程中,不断巩固和深化所学知识。 拓展视野:探索更广阔的应用领域 掌握了数字图像处理与识别的基本理论与技术,读者将能触及更广阔的应用领域。本书将适时介绍一些前沿的技术和应用方向,如: 人脸识别与检测: 自动识别视频或照片中的人脸,并进行身份认证,在安全监控、门禁系统等领域有着广泛应用。 目标跟踪: 在视频序列中实时追踪特定目标,广泛应用于自动驾驶、体育赛事分析、安防监控等。 医学图像分析: 利用图像处理技术辅助医生进行疾病诊断,如肿瘤检测、器官分割等,极大地提高了诊断的准确性和效率。 工业自动化检测: 自动检测产品表面的缺陷,如裂纹、划痕等,提升生产效率和产品质量。 遥感图像处理: 分析卫星或航空影像,用于环境监测、资源勘探、灾害预警等。 学习之旅:从入门到精通 《精通MATLAB数字图像处理与识别》是一段循序渐进的学习旅程。我们从最基础的概念讲起,逐步深入到复杂的算法和应用。本书的结构清晰,逻辑严谨,内容详实。我们相信,通过本书的学习,读者将能够: 深刻理解数字图像的本质与构成。 熟练掌握MATLAB在图像处理中的各项核心技术。 独立完成多种图像增强、复原、分割等任务。 理解和实现经典的图像特征提取与识别算法。 能够将所学技术应用于解决实际的工程与科研问题。 为进一步学习更高级的计算机视觉和深度学习技术打下坚实的基础。 本书不仅仅是一本技术手册,更是一扇通往智能世界的大门。通过掌握图像处理与识别的强大力量,您将能以前所未有的方式理解和交互我们的数字世界。我们诚挚地邀请您,翻开《精通MATLAB数字图像处理与识别》,与我们一同踏上这场激动人心的像素探索之旅!