本书主要介绍数字图像处理的基本内容及相应的MATLAB程序实现。主要内容包括图像的基本操作、图像的基本运算、图像变换、图像的形态学操作、图像增强、图像去噪、图像分割等。在内容组织上注重理论与实践的相辅相成,一方面通过对理论内容进行简明扼要的介绍,使读者能够顺利进入实践环节;另一方面通过实践操作使读者进一步理解并掌握相关内容的理论本质。为满足不同读者的学习需求和开发习惯,本书采用双语言实现方案。主体内容以MATLAB编程实现,附录提供Python环境配置指南,并在配套电子资源中同步提供本书示例程序的双版本代码(MATLAB+Python)。本书可供高等学校数字图像处理及相关课程的专科生、本科生和研究生作为教材使用,也可作为相关科研人员、工程技术人员的参考读物。
本书主要介绍数字图像处理的基本内容及相应的MATLAB程序实现,适合作为高等院校数字图像处理及相关课程的本科生和研究生教材,同时也可供相关科研人员、工程技术人员参考
第二版前言
随着信息技术的发展,数字图像在诸多领域中得到广泛应用,数字图像处理的相关学习也受到了越来越多的关注。数字图像处理已成为理工类诸多专业专科生、本科生和研究生的一门重要课程。
关于数字图像处理的学习既涉及严谨的理论基础,又需要熟练的编程技能,将二者在知识体系上密切结合并相辅相成是本书写作的主要动机。围绕这一动机,本书在内容上采用了“理论+实践+实验”的呈现形式。其中理论知识涵盖数字图像处理的常见基础内容,包括图像的基本操作、图像的基本运算、图像变换、形态学操作、图像增强、图像去噪、图像分割等。本书在介绍这些知识的过程中嵌入了必要的程序示例,力求使读者通过动手实践领悟其理论本质,同时也掌握相应的编程技能。各章最后的实验环节,在编写上注意了实用性、趣味性及启发性。相信通过完成实验报告,能够进一步激发读者对图像处理的学习兴趣及研究热情。书中涉及的部分图片、代码及其他参考资料等可以在清华大学出版社官网下载,读者也可通过扫描封底二维码下载。
本书优质版自2016年11月发行以来,多次重印,并得到来自社会读者及多所院校师生的积极反馈。这些宝贵建议与笔者在课堂教学及研究生培养中的实践积累,共同促成了此次修订再版。本书第二版完全保持了优质版的框架和体系,但在以下几方面作了进一步的修改和完善。首先,在每节后面增加了扩展阅读栏目,着重介绍与该节知识点相关的历史经纬、关键术语等,是章节知识的有益补充。其次,课后实验题目得到进一步丰富。再次,考虑到近年来Python语言在计算机视觉领域的广泛使用,为满足不同读者的学习需求和开发习惯,本版采用双语言实现方案。在主体内容继续采用MATLAB编程实现的同时,附录部分提供了本书的Python环境配置说明,并在配套电子资源中同步提供书中示例程序的双版本代码(MATLAB+Python)。最后,优质版中一些文字上的错误及不妥之处也得到了纠正。所有这些变动的目的是使本书更加容易理解,更加容易激发读者对数字图像处理的学习兴趣和启发性思考,从而让更多读者从中受益。能否达到这一目标,有待于实践的检验。
本书的编写工作得到山东省自然科学(ZR2024MF143,ZR2020MF040)和山东省重点学科建设经费的资助。全书的完成,参考和引用了大量同行的研究成果,在此向原作者表示衷心感谢。同时,本书写作过程还受到诸多文献和网络资源等的启发,书中引用不完全之处,恳请各位学者见谅。
由于编者水平所限,书中难免出现不当之处,敬请各位读者及同行批评指正。
编者2025年5月
优质版前言
随着计算机技术及信息技术的发展,数字图像在诸多领域中得到广泛应用,数字图像处理的学习也受到了越来越多的关注。数字图像的学习内容既涉及严谨的理论基础,又需要熟练的编程技能,将二者在知识体系上密切结合并相辅相成是本书写作的主要动机。
本书介绍数字图像若干研究方向的基本知识,在介绍这些理论知识的同时嵌入了必要的程序示例,力求使读者通过动手实践进一步理解并掌握数字图像研究的理论本质,同时也掌握相应的图像处理MATLAB编程技能。
本书各章最后以实验报告形式设计了实验环节,这部分内容在编写过程中注意了实用性、趣味性及启发性。相信通过完成实验报告,能够激发读者对图像处理的学习兴趣及研究热情。另外,本书中涉及的部分图片、代码及其他参考资料等在网上有电子资源,读者可通过扫描封底二维码下载。
全书共分为9章,涵盖了数字图像处理的若干研究内容,如图像的基本操作、图像的基本运算、图像变换、图像的形态学操作、图像增强、图像去噪、图像分割等。
本书的写作结合了编者多年来在数字图像处理方面的教学实践与研究经验,并受到山东省应用型人才培养特色名校建设工程及山东省自然科学(ZR2014FM032)的资助。全书的完成,参考和引用了大量同行的研究成果,在此向原作者表示感谢,并且受到诸多文献、资源的启发,书中引用得不完全,请原作者及各位同行多多谅解。
由于编者水平所限,书中难免出现不当之处,敬请各位读者批评指正。
编者2016年7月
目录
第1章绪论
1.1基本概念
1.2MATLAB基础
1.2.1MATLAB工具箱安装
1.2.2几个常用的MATLAB命令
1.2.3MATLAB的内联函数与匿名函数
1.2.4MATLAB GPU编程基础
1.3本书内容
本章实验
实验一MATLAB工具箱安装
实验二MATLAB基本操作
实验三经典图像数据集
第2章图像的基本操作
2.1数字图像的离散化表示
2.1.1灰度图像
2.1.2彩色图像
2.2数字图像的读、写和显示
2.2.1图像的读取
2.2.2图像的显示
2.2.3图像的保存
2.3邻域操作与块操作
2.3.1图像的邻域操作
2.3.2图像的块操作
本章实验
实验一灰度图像的基本操作
实验二彩色图像的基本操作
实验三图像的邻域操作
实验四索引图像格式转换
第3章图像的基本运算
3.1代数运算
3.1.1图像的叠加函数
3.1.2非常值差函数
3.1.3图像的减法运算
3.1.4图像的乘法运算
3.1.5图像的除法运算
3.1.6图像的线性组合
3.1.7图像的求补运算
3.2几何变换
3.2.1改变图像大小
3.2.2图像的剪切
3.2.3图像的旋转
3.2.4图像的几何形变
本章实验
实验一图像亮度的自适应调整
实验二使用基本运算添加图像水印
实验三仿射变换的MATLAB实现
实验四图像的光照不均匀校正
第4章图像的频域操作
4.1傅里叶变换
4.1.1连续傅里叶变换
4.1.2离散傅里叶变换
4.1.3离散傅里叶变换的实现
4.1.4快速卷积的离散傅里叶变换实现
4.2离散余弦变换
4.2.1离散余弦变换定义
4.2.2离散余弦变换的实现
4.3小波变换
4.3.1小波变换的定义
4.3.2离散小波变换的实现
4.4Hough变换与Radon变换
4.4.1Hough变换
4.4.2Radon变换及实现
本章实验
实验一利用傅里叶变换进行文本定位
实验二离散余弦变换练习
实验三小波变换练习
实验四Radon变换练习
实验五感兴趣区域图像压缩
第5章形态学图像处理
5.1数学形态学的集合论基础
5.2二值形态学
5.3灰度形态学
5.4形态学操作的MATLAB实现
本章实验
实验一利用imerode函数和imdilate函数实现图像的开、闭操作
实验二图像光照不均匀校正的形态学实现
第6章图像的空域增强
6.1基本知识
6.2灰度变换
6.3直方图处理
6.3.1直方图
6.3.2直方图均衡化
6.4空域滤波
6.4.1平滑滤波
6.4.2锐化滤波
本章实验
实验一直方图均衡化编程实现
实验二灰度变换与直方图均衡化比较
实验三图像空域滤波的块操作实现
实验四基于人眼视觉系统的灰度变换
第7章图像的频域增强
7.1低通滤波
7.1.1傅里叶变换低通滤波
7.1.2小波变换低通滤波
7.2高通滤波
本章实验
实验一巴特沃思滤波器的快速算法实现
实验二频域滤波器的图像滤波
实验三基于DCT变换的图像低通滤波
第8章图像去噪
8.1噪声模型及实现
8.1.1两类常见的噪声模型
8.1.2噪声添加的实现
8.2噪声滤除及效果评价
8.3细节保持滤波器
8.3.1灰度最小方差滤波器
8.3.2k近邻平滑滤波器
8.3.3自适应中值滤波器
8.3.4双边滤波器
8.3.5非局部均值滤波器
本章实验
实验一不同滤波器的滤波性能比较
实验二细节保持滤波器的实现
实验三NLM滤波器实现
第9章图像分割
9.1点检测与线检测
9.1.1点检测
9.1.2线检测
9.2边缘检测
9.2.1图像不连续性的数学刻画
9.2.2Roberts算子
9.2.3Sobel算子
9.2.4Prewitt算子
9.2.5拉普拉斯算子
9.2.6LOG算子与DOG算子
9.2.7Canny算子
9.2.8形态学算子
9.3基于灰度阈值的图像分割
9.3.1全局阈值分割
9.3.2局部阈值分割和多阈值分割
9.4区域生长法与分裂合并法进行图像分割
9.4.1区域生长法
9.4.2分裂合并法
9.5使用分水岭法进行图像分割
本章实验
实验一基于Radon变换的灰度图像线检测
实验二不同检测算子的性能比较
实验三阈值分割算法比较
实验四图像的四叉树分解
实验五分水岭算法进行图像分割
附录A实验报告参考模板
附录BPython环境搭建
B.1安装Anaconda
B.1.1下载Anaconda
B.1.2安装Anaconda
B.1.3测试Anaconda
B.2建立虚拟环境并安装NumPy、Pillow和OpenCV
B.2.1建立虚拟环境并激活
B.2.2安装NumPy包和Pillow包
B.2.3安装OpenCV包
B.3安装PyCharm
B.3.1下载PyCharm
B.3.2安装PyCharm
B.3.3设置PyCharm解释器
B.4本书Python代码测试示例
参考文献