1、数字图像处理实验指导书实验一、空域图像处理一、 实验目的1 熟悉 CCS 集成开发环境的操作和基本功能;2 熟悉 MATLAB 基本图像操作;3 结合实例学习如何在程序中增加图像处理算法;4 理解和掌握图像的线性变换和直方图均衡化的原理和应用;5 了解平滑处理的算法和用途,学习使用均值滤波、中值滤波和拉普拉斯锐化进行图像增强处理的程序设计方法;6 了解噪声模型及对图像添加噪声的基本方法。二、 实验原理1 灰度线性变换就是将图像中所有点的灰度按照线性灰度变换函数进行变换。 ),(),(yxfTyxg 25),(),( ,0 ),( yxfbgbyxf aaaf nm ,1 ,12 直方图均衡化通
2、过点运算将输入图像转换为在每一级上都有相等像素点数的输出图像。按照图像概率密度函数 PDF 的定义: 1,.20 )(Lknrpk通过转换公式获得: 1,.20 )()(00LknrprTskjkjjjk3 均值(中值)滤波是指在图像上,对待处理的像素给定一个模板,该模板包括了其周围的临近像素。将模板中的全体像素的均值(中值)来代替原来像素值的方法。4 拉普拉斯算子如下: 18拉普拉斯算子首先将自身与周围的 8 个像素相减,表示自身与周围像素的差异,再将这个差异加上自身作为新像素的灰度。三、 实验步骤1 启动 MATLAB 程序,对图像文件分别进行灰度线性变换、直方图均衡化、均值滤波、中值滤波
3、和拉普拉斯锐化操作;添加噪声,重复上述过程观察处理结果。2 记录和整理实验报告四、 实验仪器1 计算机;2 MATLAB 程序;3 记录用的笔、纸。五、 实验报告内容1 叙述实验过程;2 提交实验的原始图像和结果图像。六、 思考题1设定不同的斜率值和截距,显示效果会怎样?2直方图均衡化是什么意思?它的主要用途是什么?3. 均值(中值)滤波的模板大小对处理效果有什么影响?基本函数:图像读入:imread图像显示:imshow计算直方图:imhist直方图均衡化:histeq添加噪声:imnoise滤波器定义:fspecial中值滤波:medfilt2实验二、图像的傅立叶变换一、 实验目的1 了解
4、图像变换的意义和手段;2 熟悉傅里叶变换的基本性质;3 热练掌握 FFT 方法及应用;4 通过实验了解二维频谱的分布特点;5 通过本实验掌握利用 MATLAB 编程实现数字图像的傅立叶变换及滤波锐化和复原处理;6 了解理想、巴特沃兹、高斯等不同滤波器的结构及滤波效果。二、 实验原理1 应用傅立叶变换进行图像处理傅里叶变换是线性系统分析的一个有力工具,它能够定量地分析诸如数字化系统、采样点、电子放大器、卷积滤波器、噪音和显示点等的作用。通过实验培养这项技能,将有助于解决大多数图像处理问题。对任何想在工作中有效应用数字图像处理技术的人来说,把时间用在学习和掌握博里叶变换上是很有必要的。2 傅立叶(
5、Fourier)变换的定义对于二维信号,二维 Fourier 变换定义为:dyxeyxfvuFvuj)(2),(),(yxf j)( sincojej二维离散傅立叶变换为: 1,.20,1,.20for ),(1),(01)/(2 NvMueyxfMNvuFxy NvyMuxj,.,.1fr ),(),(10 )/(2 yvuyfuvvyuxj图像的傅立叶变换与一维信号的傅立叶变换变换一样,有快速算法,具体参见参考书目,有关傅立叶变换的快速算法的程序不难找到。实际上,现在有实现傅立叶变换的芯片,可以实时实现傅立叶变换。3 利用 MATLAB 软件实现数字图像傅立叶变换的程序:I=imread(
6、原图像名.gif); %读入原图像文件imshow(I); %显示原图像fftI=fft2(I); %二维离散傅立叶变换sfftI=fftshift(fftI); %直流分量移到频谱中心RR=real(sfftI); %取傅立叶变换的实部II=imag(sfftI); %取傅立叶变换的虚部A=sqrt(RR.2+II.2);%计算频谱幅值A=(A-min(min(A))/(max(max(A)-min(min(A)*225;%归一化figure; %设定窗口imshow(A); %显示原图像的频谱三、 实验步骤1 打开计算机,安装和启动 MATLAB 程序;程序组中“work ”文件夹中应有待
7、处理的图像文件;2 利用 MatLab 工具箱中的函数编制 FFT 频谱显示的函数;3 a).调入、显示图像;图像存储格式应为“.gif”;b)对图像做 FFT 并利用自编的函数显示其频谱;c)讨论不同的图像内容与 FFT 频谱之间的对应关系。4 对频谱分别进行高斯、巴特沃兹、高斯高通和低通滤波,比较其锐化和平滑效果5 记录和整理实验报告。四、 实验仪器1 计算机;2 MATLAB 程序;3 移动式存储器(软盘、U 盘等) 。4 记录用的笔、纸。五、 实验报告内容1 叙述实验过程;2 提交实验的原始图像和结果图像,并对结果进行比较。六、 思考题1傅里叶变换有哪些重要的性质?2图像的二维频谱在显
8、示和处理时应注意什么?实验三、图像的几何变换一、实验目的1 熟悉 MATLAB 的操作和基本功能;2 理解和掌握图像的平移、垂直镜像变换、水平镜像变换、缩放和旋转的原理和应用;二、实验原理1 初始坐标为( , )的点经过平移( , ) ,坐标变为( , ) ,两点之间的xy0xyxy关系为: ,以矩阵形式表示为:0y1 y 1 0xx2 图像的镜像变换是以图象垂直中轴线或水平中轴线交换图像的变换,分为垂直镜像变换和水平镜像变换,两者的矩阵形式分别为:1 0 1 yxyx 1 0- yx3 图像缩小和放大变换矩阵相同:1 0 1yxxS当 时,图像缩小; 时,图像放大。,yx 1 ,yxS4 图
9、像旋转定义为以图像中某一点为原点以逆时针或顺时针方向旋转一定角度。其变换矩阵为: 1 0 cosin 1 yxyx该变换矩阵是绕坐标轴原点进行的,如果是绕一个指定点( )旋转,则现要将ba,坐标系平移到该点,进行旋转,然后再平移回到新的坐标原点。三、实验步骤1 启动 MATLAB 程序,对图像文件分别进行平移、垂直镜像变换、水平镜像变换、缩放和旋转操作,与实验箱运行结果进行比对;2 记录和整理实验报告四、实验仪器1 计算机;2 MATLAB 程序;3 记录用的笔、纸。五、实验报告内容1 叙述实验过程;2 提交实验的原始图像和结果图像。六、思考题1改变水平和垂直的偏移量,观察显示?2改变缩放比例
10、,看看效果如何?3. 改变旋转角度,显示效果会怎么样?实验四、图像分割一、实验目的1 熟悉 MATLAB 的操作和基本功能;2 理解和掌握图像分割的基本理论和算法,练习使用形态学、区域、边界和阀值的方法结合图像增强复原的相关知识点对图像进行分割处理;二、实验原理1 膨胀和腐蚀是二值形态学的基本操作,其中膨胀是是将与目标区域的背景点合并到该目标物中,使目标物边界向外部扩张的处理;而腐蚀则是一种消除连通域的边界点,使边界向内收缩的处理。贴标签是对不同连通域区分和标记的基本算法。两者数学表达如下:膨胀: BAC腐蚀: 2 图象分割是按照某些特性(如灰度级 ,频谱,颜色,纹理等) 将图象划分成一些区域
11、,在这些区域内其特性是相同的或者说是均匀的,两个相邻区域彼此特性则是不同的,其间存在着边缘或边界。按照使用图像的特点可以分为两类:利用区域间灰度不连续性基于边界检测利用区域内灰度的相似性基于区域分割三、实验步骤1 打开计算机,安装和启动 MATLAB 程序;程序组中“work ”文件夹中应有待处理的图像文件;2 对于飞机图像a).对图像进行去噪、增强处理;b)运用全局阀值进行二值化 ;c)用膨胀腐蚀等形态学方法实现提取。3 对于 MRI 图像a).对图像进行去噪、增强处理;b)运用局部阀值进行二值化 ;c)用膨胀腐蚀等形态学方法实现提取。4 记录和整理实验报告。四、实验仪器1 计算机;2 MATLAB 程序;3 记录用的笔、纸。五、实验报告内容1 叙述实验过程;2 提交实验的原始图像、结果图像和统计信息。六、思考题1除了形态学方法用其他方法如何实现图像分割?2图像预处理的作用是什么?基本函数:膨胀:imdilate腐蚀:imerode