数字图像处理实.docx
《数字图像处理实.docx》由会员分享,可在线阅读,更多相关《数字图像处理实.docx(30页珍藏版)》请在冰豆网上搜索。
数字图像处理实
图像处理实验指导书
图像是一种重要的信息源,图像处理的最终目的就是要帮助人类理解信息的内涵。
数字图像处理技术的研究内容涉及光学系统、微电子技术、计算机科学、数学分析等领域,是一门综合性很强的边缘学科。
随着计算机的迅猛发展,图像处理技术已经广泛应用于各个领域。
“数字图像处理”课程内容主要包括利用计算机对图像信息进行图像采集、图像变换、图像增强与恢复、图像分割、图像分析与理解、图像压缩、图像传输等各种处理的基本理论、典型方法和实用技术。
通过本课程的学习,可使学生掌握有关图像处理与图像分析的基本概念、基础理论、实用技术和典型方法。
通过该系列实验教学与实践,了解图像增强、图像分割、图像理解和分析算法的物理意义;
应用于图像处理的计算机软件技术平台很多,如VC++、MATLAB等。
本实验指导书选用MATLAB做实验平台,MATLAB是一种基于向量(数组)而不是标量的高级程序语言,而数字图像实际上就是一组有序的离散数据,从而MATLAB从本质上就可以提供对图像处理的技术支持。
实验1:
图像预处理实验
一、实验目的与要求:
目的:
通过本次实验,学生可以掌握图像读取、显示和保存的方法,
要求:
上机运行,调试通过。
二、实验方案:
1)对附录中的练习1~3、进行上机运行和调试。
2)对上述练习,改变一些函数的参数,观察运行结果的变化。
三、实验结果与数据处理
对每个练习,要求学生获得相应的实验结果。
四、结论
可以是对某些MATLAB函数如何使用的认识,也可以是学生的实验后的心得体会。
五、问题与讨论
1)对实验中遇到的问题,进行讨论。
实验2、图像增强
一、实验目的
1掌握灰度直方图的概念及其计算方法;
2熟练掌握直方图均衡化过程;
二、实验原理
图像增强是指按特定的需要突出一幅图像中的某些信息,同时,消弱或去除某些不需要的信息的处理方法。
其主要目的是处理后的图像对某些特定的应用比原来的图像更加有效。
图像增强技术主要有直方图修改处理、图像平滑化处理、图像尖锐化处理和彩色处理技术等。
本实验以直方图均衡化增强图像对比度的方法为主要内容,其他方法可以在课后自行练习。
直方图是多种空间域处理技术的基础。
直方图操作能有效地用于图像增强。
除了提供有用的图像统计资料外,直方图固有的信息在其他图像处理应用中也是非常有用的,如图像压缩与分割。
直方图在软件中易于计算,也适用于商用硬件设备,因此,它们成为实时图像处理的一个流行工具。
直方图是图像的最基本的统计特征,它反映的是图像的灰度值的分布情况。
直方图均衡化的目的是使图像在整个灰度值动态变化范围内的分布均匀化,改善图像的亮度分布状态,增强图像的视觉效果。
灰度直方图是图像预处理中涉及最广泛的基本概念之一。
图像的直方图事实上就是图像的亮度分布的概率密度函数,是一幅图像的所有象素集合的最基本的统计规律。
直方图反映了图像的明暗分布规律,可以通过图像变换进行直方图调整,获得较好的视觉效果。
直方图均衡化是通过灰度变换将一幅图像转换为另一幅具有均衡直方图,即在每个灰度级上都具有相同的象素点数的过程。
(1)直方图均衡化增强图像对比度的MATLAB程序:
I=imread(‘coins.tif);%读入原图像
J=histeq(I);%对原图像进行直方图均衡化处理
imshow(I);%显示原图像
Title(‘原图像’);%给原图像加标题名
Figure;imshow(J);%对原图像进行屏幕控制;显示直方图均衡化后的图像
Title(‘直方图均衡化后的图像’);%给直方图均衡化后的图像加标题名
Figure;subplot(1,2,1);%对直方图均衡化后的图像进行屏幕控制;作一幅子图作为并排两幅图的
imhist(I,64);%将原图像直方图显示为64级灰度
Title(‘原图像直方图’);%给原图像直方图加标题名
Subplot(1,2,2);%作第2幅子图
imhist(J,64);%将均衡化后图像的直方图显示为64级灰度
Title(‘均衡变换后的直方图’);%给均衡化后图像直方图加标题名
处理后的图像直方图分布更均匀了,图像在每个灰度级上都有像素点。
从处理前后的图像可以看出,许多在原始图像中看不清楚的细节在直方图均衡化处理后所得到的图像中都变得十分清晰。
对附录中的练习5-6、进行上机运行和调试
三、实验报告要求
1.技术路线;
2.MATLAB程序;
3.运行结果;
4.心得体会
四、思考题
1.直方图均衡化的目的是使图像直方图尽可能地分布均匀,你有什么改进的思路?
2.对实验中遇到的问题,进行讨论。
实验3、图像的滤波
1实验目的
进一步了解MatLab软件/语言,学会使用MatLab对图像作滤波处理,使学生有机会掌握滤波算法,体会滤波效果。
了解几种不同滤波方式的使用和使用的场合,培养处理实际图像的能力,并为课堂教学提供配套的实践机会。
2实验要求
学生应当完成对于给定图像+噪声,使用平均滤波器、中值滤波器对不同强度的高斯噪声和椒盐噪声,进行滤波处理;能够正确地评价处理的结果;能够从理论上作出合理的解释。
3实验设备与软件
(1)IBM-PC计算机系统
(2)MatLab软件/语言包括图像处理工具箱(ImageProcessingToolbox)
(3)实验所需要的图片
4实验内容与步骤
a)调入并显示原始图像。
b)利用imnoise命令在图像上加入高斯(gaussian)噪声
c)利用预定义函数fspecial命令产生平均(average)滤波器
-1-1-1
-19-1
-1-1-1
d)采用3x3的模板,分别用平均滤波器以及中值滤波器,对加入噪声的图像进行处理并观察不同噪声水平下,上述滤波器处理的结果;
e)选择不同大小的模板,对加入某一固定噪声水平噪声的图像进行处理,观察上述滤波器处理的结果。
f)利用imnoise命令在图像上加入椒盐噪声(salt&pepper)g)重复c)~e)的步骤
h)输出全部结果并进行讨论。
5思考题/问答题
(1)简述高斯噪声和椒盐噪声的特点。
(2)结合实验内容,定性评价平均滤波器/中值滤波器对高斯噪声和椒盐噪声的去噪效果?
(3)结合实验内容,定性评价滤波窗口对去噪效果的影响?
6实验报告要求
描述实验的基本步骤,用数据和图片给出各个步骤中取得的实验结果,并进
行必要的讨论,必须包括原始图像及其计算/处理后的图像。
7源代码
I=imread('coins.png');
J=imnoise(I,'gauss',0.02);%添加高斯噪声
%J=imnoise(I,'salt&pepper',0.02);%添加椒盐噪声
K=filter2(fspecial('average',3),J)/255;%均值滤波3×3
L=filter2(fspecial('average',5),J)/255;%均值滤波5×5
M=medfilt2(J,[33]);%中值滤波3×3模板
N=medfilt2(J,[44]);%中值滤波4×4模板
imshow(I);
figure,imshow(J);
figure,imshow(K);
figure,imshow(L);
figure,imshow(M);
figure,imshow(N);
对附录中的练习7-8,9,10进行上机运行和调试
实验4、图像变换
一、实验目的
1了解图像变换的意义和手段;
2熟悉离散傅里叶变换基本性质;
3熟练掌握图像变换的方法及应用;
4通过实验了解二维频谱的分布特点;
5通过本实验掌握利用MATLAB编程实现数字图像的变换。
二、实验原理
1应用各种离散变换进行图像处理
傅里叶变换是线性系统分析的一个有力工具,它能够定量地分析诸如数字化系统、采样点、电子放大器、卷积滤波器、噪音和显示点等的作用。
通过实验培养这项技能,将有助于解决大多数图像处理问题。
对任何想在工作中有效应用数字图像处理技术的人来说,把时间用在学习和掌握博里叶变换上是很有必要的。
2图像变换的基本原理
(1)傅立叶(Fourier)变换的定义
对于二维信号,二维Fourier变换定义为:
二维离散傅立叶变换为:
(1)二维离散傅立叶变换
I=imread(‘coins.png’);%读入原图像文件
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”文件夹中应有待处理的图像文件;
2利用MatLab工具箱中的函数编制FFT频谱显示的函数;
3a).调入、显示获得的图像;图像存储格式应为“.gif”;
b)对这三幅图像做FFT并利用自编的函数显示其频谱;
c)讨论不同的图像内容与FFT频谱之间的对应关系。
4记录和整理实验报告。
5.对附录中的练习4,11,13进行上机运行和调试。
四、实验报告内容
1叙述实验过程;
2提交实验的原始图像和结果图像。
五、思考题
1.傅里叶变换有哪些重要的性质?
2.图像的二维频谱在显示和处理时应注意什么?
实验5、图像复原
1实验目的
1了解图像复原的意义和手段;
2掌握图像复原的方法及应用;
4通过实验了解图像复原;
5通过本实验掌握利用MATLAB编程实现数字图像的复原。
2实验程序
1读取图像
f=checkerboard(8);%原始图像
PSF=fspecial('motion',7,45);%退化函数
gb=imfilter(f,PSF,'circular');%退化的图像
noise=imnoise(zeros(size(f)),'gaussian',0,0.001);%高斯噪声图像
g=gb+noise;%退化的图像加噪
%逆滤波
fr1=deconvwnr(g,PSF);
%parametricWienerfiltering(assumenoise-to-signalratioisaveragepowerratio)
Sf=abs(fft2(f)).^2;%功率普
fA=sum(Sf(:
))/prod(size(f));%图像的平均谱
Sn=abs(fft2(noise)).^2;%噪声功率谱
nA=sum(Sn(:
))/prod(size(noise));%求噪声的功率谱;
R=nA/fA;
fr2=deconvwnr(g,PSF,R)
%parametricWienerfilteringbyautocorrelationfunctions
NCORR=fftshift(real(ifft2(Sn)));
ICORR=fftshift(real(ifft2(Sf)));
fr3=deconvwnr(g,PSF,NCO