数字图像处理实验指导书版.docx
《数字图像处理实验指导书版.docx》由会员分享,可在线阅读,更多相关《数字图像处理实验指导书版.docx(18页珍藏版)》请在冰豆网上搜索。
数字图像处理实验指导书版
齐鲁工业大学
数字图像处理上机实验指导书
电气工程和自动化学院
电子信息工程系
2014年3月10日
实验一Matlab图像处理工具箱的初步练习
实验目的:
熟悉常用的图像文件格式和格式转换;熟悉图像矩阵的显示方法(灰度、索引、黑白、彩色);熟悉图像矩阵的格式转换。
实验内容:
1.熟悉图像文件的读取、显示和保存;
2.熟悉常用的图像文件格式,以及各种格式的转换;
3.了解图像数据的存储形式,掌握在Matlab中获取图像数据的方法。
4.编写一个简单的图像处理程序(求反色图像)。
实验步骤:
1.熟悉图像文件的读取、显示、保存以及格式转换
1)读图像:
分别读取不同格式的图像(灰度图像和索引图像和真彩色图像),观察工作空间,把得到的信息记录下来,理解其中的含义。
需要用到的主要函数:
imread、load
2)将1)中读入的图像显示出来。
需要用到的主要函数:
imshow
3)将1)中读入的图像分别转换成灰度图像、真彩色图像、二值图像,显示并保存成分别保存成数据文件(.mat)和图像文件(.jpg/.tif/.png)到你的文件夹中,观察工作空间,学会如何将图像数据显示在命令窗口。
需要用到的主要函数:
ind2gray、ind2rgb、im2bw、save、imwrite
4)从matlab的images文件夹中读取一幅真彩色图像(green.jpg)将其转换到HSV空间和YCrCb空间,并将这些图像保存成图像文件,到你的文件夹中。
需要用到的主要函数:
imread、rgb2hsv、rgb2Ycbcr、imwrite
注意:
load函数和imread函数、save函数和imwrite函数的区别。
2.学习使用help功能。
打开imageprocessing工具箱,看demo
3.编写程序求一幅灰度图像的反色图像;
图1原图和反色图
实验报告要求:
实验报告要求包括实验目的、实验内容(概括)、实验步骤(要有具体的程序段)、每一步骤得到的实验结果和数据,以及对实验结果的分析,最后写出实验总结。
实验二图像的空域增强实验
实验目的:
掌握直方图均衡化的原理和方法;掌握平均滤波器、中值滤波的原理,以及对不同强度的高斯噪声和椒盐噪声进行滤波处理效果;熟悉图像的锐化过程。
实验内容:
1.观察各类图像的直方图,并利用直方图均衡方法进行图象增强;
2.图像的平滑:
完成对于给定图像加入噪声(高斯噪声和椒盐噪声),观察均值滤波和中值滤波的效果。
3.图像的锐化:
观察各种模板对应的锐化处理效果;
基本原理:
1.直方图的定义
图象的灰度直方图是一个函数,表示数字图象中每一灰度级和该灰度级出现的频数(即具有这一灰度级的象素数目)间的对应关系:
M为一幅图象所包含的象素总数;N(b)为图象中灰度值为b的象素总数。
通常,以灰度值b为横坐标,N(b)为纵坐标。
直方图是图象中象素灰度值的一阶概率分布密度的一种近似。
2.直方图均衡
直方图均衡(histogramequalization)就是通过点运算使输入图像的灰度分布较为均匀,使图像具有较好的视觉效果。
设r,s分别为原图和新图的灰度,r(r),s(s)分别为原图及新图的概率密度函数,则均衡变换为原图像的累积分布函数:
对于离散图像,均衡转换公式为:
其中,Lmax指图像中的最大灰度值(对于灰度图像就是255)。
3.均值滤波
用均值滤波可以判断并消除孤立噪声。
通常邻域取成N⨯N方形窗,如N取4,例设f(x,y)、
分别表示(x,y)点的实际灰度和经邻域平均后的灰度,Oi(i=1,2,...8)表示其邻接各点的灰度,如图1,则邻域平均可表示为:
式中是和图象灰度有关的门限。
方形窗口沿水平和垂直两个方向逐点移动,从而平滑整幅图象,去除了孤立噪声。
简单的邻域平均会模糊图象。
4.中值滤波
采用邻域平均抑制噪声,在去除噪声的同时,不可避免地会使边缘轮廓模糊,因而使图象中包含的细节信息受到损失。
中值滤波在过滤噪声的同时,还能较好地保护边缘轮廓信息,对减少随机脉冲噪声和胡椒面式(pepper-and-saltnoise)噪声很有效。
中值滤波的原理是用一个窗口W在图象上扫描,把窗口内包含的图象象素按灰度级升(或降)序排列,取灰度值居中的象素灰度为窗口中心象素的灰度,便完成了中值滤波。
5.图像锐化
微分锐化的处理方法最常用的是梯度法。
由场论理论知道,数量场的梯度是这样定义的:
如果给定一个函数f(x,y),在坐标(x,y)上f的梯度可定义为一个矢量grad[f(x,y)]=[∂f/∂x,∂f/∂y]
由梯度的定义可以得知它有两个特点:
(1)矢量grad[f(x,y)]是指向f(x,y)最大增加率的方向;
(2)如果用G[f(x,y)]来表示grad[f(x,y)]的幅度,那么
G[f(x,y)]=max{grad[f(x,y)]}=[(∂f/∂x)+(∂f/∂y)]
在数字图像处理中,仍然要采用离散形式,为此用差分运算代替微分运算。
式(5-3-1)可用下面的差分公式来近似:
G[f(x,y)]≈{[f(x,y)-f(x+1,y)]2+[f(x,y)-f(x,y+1)]2}1/2
实际计算机计算梯度时,通常用近似公式有:
G[f(x,y)]=|f(x,y)-f(x+1,y)|+|f(x,y)-f(x,y+1)|
罗伯特梯度(Robertgradient):
G[f(x,y)]={[f(x,y)-f(x+1,y+1)]+[f(x+1,y)-f(x,y+1)]}
二次偏导数可近似地用差分表示为:
G[f(x,y)]={[f(x-1,y)+f(x+1,y)+f(x,y+1)+f(x,y-1)-4f(x,y)]}
实验步骤:
1.给定一幅如下的图象(Matlab提供‘pout.tif’),作如下直方图均衡处理操作,统计原图的灰度直方图,并利用直方图均衡方法进行图象增强;
显示直方图函数:
imhist()
直方图均衡函数:
histeq()
2.利用Matlab函数imnoise(),在原图上分别叠加高斯噪声和椒盐噪声,对比均值滤波和中值滤波的结果,并对结果做出分析,打开demo观察各滤波器队各类噪声的滤除效果;
3.均值滤波的滤波模板自行设计,滤波过程可以通过卷积函数conv2()实现。
中值滤波函数:
medfilt()
4.分别利用sobel算子和拉氏算子对图像进行锐化,并比较锐化结果;
参考函数:
构造滤波器函数fspecial()
基于卷积的滤波函数filter2()
卷积函数conv2()
以上处理可以从demo里看到演示结果。
图1原始图像 图2直方图增强后的图像
图3原图直方图 图4直方图均衡后的图像直方图
图5叠加高斯噪声图 图6叠加椒盐噪声图
锐化参考结果图像:
图7Laplacian锐化算子效果
图8Laplacian锐化算子增强边缘后的效果
实验报告要求:
实验报告要求包括实验目的、实验内容(概括)、实验原理、实验步骤(要有具体的程序段)、每一步骤得到的实验结果和数据,以及对实验结果的分析,最后写出实验总结。
实验三数字图像的频域滤波实验
实验目的:
通过对图像进行离散傅立叶变换、离散余弦变换及反变换熟悉变换的性质;利用频域实现图像信号的滤波运算,了解频域变换对图像的处理效果。
实验内容:
1.学会如何利用matlab函数对图像进行傅立叶变换DFT和余弦变换DCT,以及反变换;
2.研究傅里叶变换幅度的平移不变性;
3.研究傅里叶变换幅度的旋转性质;
4.研究傅里叶变换的尺度变换性质;
5.研究理想低通滤波对图像的处理效果。
基本原理:
1.定义:
二维离散傅里叶变换和反变换
正:
反:
原图象
变换图象
数字图象的二维离散傅立叶变换所得结果的频率成分分布示意下图所示。
即变换结果的左上、右上、左下、右下四个角的周围对应于低频成分,中央部分对应于高频成分。
为使直流成分出现在变换结果数组的中央,可采用换位方法显示,将低频分量集中在中心,依此向外推移的是高频分量,便于观察。
实验步骤:
1.首先构造一幅黑白二值图像,在128×128的黑色背景中心产生一个4×4的白色方块,如下图1所示,并对其进行傅立叶变换(图2、图3位变换结果的参考图像)。
图1测试图象1 图2图1的FFT变换结果 图3增强后的2DFT
需要用到的主要函数:
fft2、
fftshift(将频谱的低频从四角移到中心)
注意:
由于matlab图像显示函数无法显示复数图像,为了观察变换后的结果,应该对变换后的结果求模(也就是仅显示幅度谱),同时由于求模之后的结果数值范围太大,不易观察,可以利用log函数对其压缩范围,参考示例:
B=fftshift(fft2(I);%返回图像I的二维傅立叶变换
imshow(log(abs(B)),[]);%显示频谱,abs是求模函数
2.对图1进行平移,然后再进行傅立叶变换,观察结果。
参考图像如下:
图3图1的平移图4图3的傅立叶变换结果
3.对图1进行旋转,然后再进行傅立叶变换,观察结果。
参考图像如下:
图5图1的旋转图6图5的傅立叶变换结果
旋转函数:
imrote()
4.对图1进行缩放,然后再进行傅立叶变换,观察结果。
参考图像如下:
图7图1的放大图8图7的傅立叶变换结果
图9图1的缩小图10图9的傅立叶变换结果
5.任意读取一幅自然风光的图像,对其进行傅立叶变换和离散余弦变换,观察结果,然后设计一个理想低通滤波器对图像进行低通滤波,去掉高频分量,之后反变换重构图像,和原图像作对比,并分析其中的原理。
参考结果如下:
图11原图图12傅立叶变换
图13低通滤波复原的图像图14仅保留低频分量
需要用到的主要函数:
二维离散余弦变换函数dct2
反变换函数ifft2/idct2
实验报告要求:
实验报告要求包括实验目的、实验内容(概括)、实验步骤(要有具体的程序段)、每一步骤得到的实验结果和数据,以及对实验结果的分析,最后写出实验总结。
实验四图像的边缘检测、分割以及
数学形态学处理
实验目的:
掌握常用边缘检测算子的基本原理和检测效果。
通过分析灰度直方图,掌握阈值法对灰度图像进行分割的原理;掌握形态学处理的原理和使用。
实验内容:
1.用各种边缘提取算子提取边缘,比较检测出的边缘的特点。
2.通过分析灰度直方图,掌握直方图双峰法对灰度图像进行分割的适用范围。
3.通过对二值化后的图像采用形态学处理(腐蚀、膨胀、开运算、闭运算等),掌握形态学处理的原理和使用。
基本原理:
1.边缘检测
在图象处理中,有时用各种专用卷积核来检测图象边界。
检测边缘的常用模板算子有:
拉普拉斯算子:
Sobel算子:
Prewitt算子:
2.灰度门限法图像分割
图像分割是图像处理和机器视觉的基本问题之一,其任务是把图像划分成互不交迭区域的集合。
这些区域的划分是有实际意义的,它们或者代表不同的物体,或者代表物体的不同部分。
图像分割的一个难点在于,在划分之前,不一定能够确定图像区域的数目。
设图像f(x,y)的灰度范围属于[z1,z2],根据一定的经验及知识确定一个灰度的门限,或者根据一定准则确定[z1,z2]的一个划分z1,z2,其中z1代表目标,z2代表背景。
根据像素的灰度属于这个划分的哪个部分来将其分类,称为灰度门限法,即:
如果f(x,y)属于z1,判断(x,y)像素属于目标。
如果f(x,y)属于z2,则判断(x,y)像素属于背景。
分割门限选择的准确性直接影响分割的精度及图像描述分析的正确性。
门限选得太高,容易把大量的目标判为背景,定的太低又会把大量的背景判为目标。
因此正确分割门限是很重要的。
利用灰度直方图特征确定灰度分割门限的原理:
如果图像所含的目标区域和背景区域大小可比,而且目标区域和背景区域在灰度上有一定的差别,那么该图像的灰度直方图会呈现双峰—谷状:
如下图所示:
其中一个峰值对应于目标的中心灰度,另一个峰值对应于背景的中心灰度。
由于目标边界点较少且其灰度介于它们之间。
所以双峰之间的谷点对应着边界的灰度,可以将谷点的灰度作为分割门限
图1双峰图
3.数学形态学
数学形态学图像处理的基本思想是利用一个称作结构元素(structuringelement)的“探针”收集图像的信息。
当探针在图像中不断移动时,便可考察图像各个部分之间的相互关系,从而了解图像各个部分的结构特征。
数学形态学中最基本的运算是腐蚀和膨胀。
图像A被结构元素B膨胀的运算定义式为:
图像A被结构元素B腐蚀的运算定义式为:
开运算:
先腐蚀,再膨胀
闭运算:
先膨胀,再腐蚀
实验步骤:
1.分别利用Sobel算子、prewitt算子、log算子canny算子等对图像进行边缘检测,并比较各边缘检测算子的性能。
参考函数:
edge()
图1Sobel算子边缘提取的结果
1.图像的分割(二值化)
1)读取多幅灰度图像,计算直方图,观察哪些图像的直方图具有有双峰特性;
2)对于直方图具有有双峰特性的图像,取直方图谷底处灰度值T作为阈值对图像进行二值化,记录二值化后的二值图像bw1
3)取T1>T,再对图像进行二值化,并记录结果图像bw2;
4)取T1参考函数:
im2bw()
参考图像:
图2根据直方图选择T=120时的分割结果
2.形态学处理
1)用不同的结构元素对二值图像进行腐蚀并记录结果图像
2)用不同的结构元素对二值图像进行膨胀并记录结果图像
3)对二值图像进行开闭运算1次,2次,记录结果图像并比较
参考函数:
腐蚀erode()
膨胀dilate()
形态学运算族函数bwmorph()
参考图像:
图3膨胀的结果
实验报告要求:
实验报告要求包括实验目的、实验内容(概括)、实验步骤(要有具体的程序段)、每一步骤得到的实验结果和数据,以及对实验结果的分析,最后写出实验总结。