您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 冶金工业 > 数字图像处理实验一_图像变换及频域滤波
实验一图像变换及频域滤波1.一.实验目的(1)编写快速傅里叶变换算法程序,验证二维傅里叶变换的平移性和旋转不变。;(2)实现图像频域滤波,加深对频域图像增强的理解。二.实验环境及开发工具WindwsXP、MATALAB7.0、VisualC++、VisualBasic三.实验方法1.验证二维傅里叶变换的平移性和旋转不变性;a.要验证证其平移特性,就先建立一个二维图象,然后再对其平移,通过观察两者的频谱图来观察平移特性,为了方便起见,我们选择特殊情况来分析,令u0=v0=N/2,使),()1(),(12yxfyxfyxF(u-N/2,v-N/2),达到将原始F(U,V)四周频谱移到中心的效果,及达到频谱中心化。b.验证旋转不变性可以通过将原始数组的通过移动45度,然后再比较旋转后与旋转前的频谱,得出频谱旋转不变性的结论。具体步骤:1)产生如图1所示图像),(1yxf(128×128大小,暗处=0,亮处=255)2)同屏显示原图1f和)(FFT1f的幅度谱图。3)若令),()1(),(12yxfyxfyx,重复以上过程,比较二者幅度谱的异同。4)将),(2yxf顺时针旋转45度得到),(3yxf,显示)(FFT3f的幅度谱,并与)(FFT2f的幅度谱进行比较。图1实验图象f1(x,y)2.实现图像频域滤波,加深对频域图像增强的理解。频率域中进行增强是相当直观的,主要步骤有:1)计算需要增强的图象的傅立叶变换;2)将其与一个(根据需要设计的)转移的函数相乘;3)再将结果反傅立叶变换以得到增强的图象.为了直观的展示频域增强,可以通过下面任务来展现:对如图2所示的数字图像lena.img(256×256大小、256级灰度)进行频域的理想低通、高通滤波,同屏显示原图、幅度谱图和低通、高通滤波的结果图。四.实验分析1.验证二维傅里叶变换的平移性和旋转不变性1)建立一个二维数组并要求该数组能够显示成图1.a=zeros(128,128)fory=54:74forx=34:94a(x,y)=1;endend然后再用显示图象的函数显示即可,在此我们用imshow(a)语句。为了得到幅度谱图,可以地数组a进行快速傅立叶变换,然后再用图2实验图象lena.imgMesh语句便可得到其幅度谱.2)观察其平移特性。根据实验方法中的分析,构造一个新的数组存入平移后的原数组,通过在嵌套中加入语句b(x,y)=(-1).^(x+y).*a(x,y);即可,然后再用类似上面的方法画出图象和幅度谱.3)验证其旋转不变性。首先将所得图画旋转45度,这需要通过将数组先相应的旋转,这个旋转有两种方式:(1)根据旋转后的图象算出旋转后的数组形式,通过点与点之间的变换来实现,需要分区间来画图和构建新的数组.然后用imshow来显示.(2)直接用IMROTATE(A,ANGLE,METHOD)语句,其中A表示数组,ANGLE表示旋转角度,METHOD表示旋转方向.我们令t=imrotate(a,315,'nearest','crop')令可将数组a逆时针旋转135度,即相当于顺时针旋转45度。然后比较旋转前后两幅图的差别以及其频率谱和幅度谱的异同。最后可以得结论。2.实现图像频域滤波1)读出图片,并生成图片的数组.首先要将lena.img与MATLAB程序文档放在一个目录下面,然后再用语句a=fopen('lena.img','r');b=fread(a,[256,256],'uchar');打开图片并获得组成该图片的数组.然后用imshow(b),便可得到lena的人头图片.其次与上面任务一样,对图片数组进行快速傅立叶变换,然后用mesh()语句画出他的幅度谱图,2)进行频域增强的低通滤波部分。频域法的过程是:f(x,y)正变换----F(u,v)---修正H(u,v)---G(u,v)---反变换g(x,y).理想低通滤波的转移函数需满足以下条件:H(u,v)H(u,v)=1;当D(u,v)=Do时;H(u,v)=0;当D(u,v)Do时;其中Do是一个非负整数,D(u,v)是反映点(u,v)到频率平面原点的距离。当小于Do的频率可以完全不受影响的通过滤波器,而大于Do的则完全不能通过滤波器,该Do可以形象的表示成截断频率。在低通滤波时,分别令Do等于88,24,11,5时,可得到低通滤波后的结果图象,通过观察其图象与幅度谱图来理解低通滤波的特性.3)进行频域增强的高通滤波部分。一个2---D理想高通滤波器的转移函数满足下列条件H(u,v)H(u,v)=0;当D(u,v)=Do时;H(u,v)=1;当D(u,v)Do时;所得到的结果恰好与低通滤波相反,当大于Do的频率可以完全不受影响的通过滤波器,而小于Do的则完全不能通过滤波器。在高通滤波时,分别令Do等于2,8,24时,分别得到高通滤波后的结果图像,通过观察其图象与幅度谱图来理解高通滤波的特性。关于此部分主要的函数语句是:(1)m=abs(b);m0=15*log(m+1.001);surf(m0);求出数组之后将其进行fft2得到m,然后求出其绝对值,为了避免其数值过大,求其对数,且为了避免出现0和1的情况,可以在m的基础上加上1.001,最后用surf()函数显示出3----D效果.(2)r=24;forx=1:256fory=1:256if(x-128).^2+(y-128).^2r.^2;t(x,y)=0;endendend通过对r数值的改变,和if条件的变化来实现不同的低通和高通情况下的滤波.五.实验结果及结论1.验证二维傅里叶变换的平移性和旋转不变性;1.1产生的图像),(1yxf与fft2(f1)幅度谱的程序如下:Clc;a=zeros(128,128)fory=54:74forx=34:94a(x,y)=1;endendfigure(1)a1=fft2(a);subplot(1,2,1);imshow(a);subplot(1,2,2);a2=abs(a1);mesh(a2);forx=1:128fory=1:128b(x,y)=(-1).^(x+y).*a(x,y);endendfigure(2)b1=fft2(b);subplot(1,2,1);imshow(b);subplot(1,2,2);b2=abs(b1);mesh(b2);figure(3)t=imrotate(a,315,'nearest','crop')t1=fft2(t);subplot(1,2,1);imshow(t);subplot(1,2,2);t2=abs(t1);surf(t2);结果如图1.2令),()1(),(12yxfyxfyx,则图像2f与)(FFT2f的幅度谱图如下:结果分析:对比两图可以得到,1.2得的图就是将1.1得的图的频谱往中心移.即称为频谱中心化,将能量集中的4个角往中心靠拢。1.3若将f2(x,y)顺时针旋转45°得到),(3yxf,则3f及)(FFT3f的幅度谱图如下结果分析:将1.3得的图与1.1得的图比较可知,将原图移动旋转45度以后,幅度谱图仍然没的改变,图象能量依然集中在4个角。2.实现图像频域滤波2.1对数字图像lena.img进行频域的理想低通,同屏显示原图、幅度谱图和低通滤波的结果图。其中,取理想低通滤波的半径R分别为88、24、11和5。程序代码如下(取r=8时)Clc;a=fopen('D:\图像实验\img\lena.img','r');b=fread(a,[256,256],'uchar');fclose(a);figure(1)subplot(1,2,1)imshow(b,[0,255]);b=fft2(b)m=abs(b);subplot(1,2,2)m0=15*log(m+1.001)surf(m)q=b;t=fftshift(q)r=8;forx=1:256fory=1:256if(x-128).^2+(y-128).^2r.^2;t(x,y)=0;endendendh2=abs(t);h02=15*log(1.001+h2)figure(2)imshow(h02,[0,255]);t=ifftshift(t);z=ifft2(t);figure(3);subplot(1,2,1)imshow(z,[0,255]);n=fft2(z);subplot(1,2,2);n=15*log(1.001+abs(n));surf(n);结果如下:原图像及其频谱图R=88时的理想低通滤波结果图和滤波频谱图RR=24时的理想低通滤波结果图和滤波幅度谱图R=11时的理想低通滤波结果图和滤波频谱图R=5时的理想低通滤波结果图和滤波频谱图当R=5时,滤波后的图像很模糊,无法分辨;当R=11时,滤波后的图像比较模糊,但基本能分辨出人脸的形状;当R=24时,滤波后的图像有些模糊,能分辨出脸上的器官轮廓,但由于理想低通滤波器在频域的锐截止特性,滤波后的图像有较明显的振铃现象;当R=88时,滤波后的图像比较清晰,但高频分量损失后,图像边沿与文字变的有些模糊,在图像的边框附近仍有振铃现象。2.2对数字图像lena.img进行频域的理想高通,同屏显示原图、幅度谱图和高通滤波的结果图。其中,取理想高通滤波的半径R分别为2、8和24:原图像及其频谱图R=2时的理想高通滤波结果图和滤波频谱图R=8时的理想高通滤波结果图和滤波频谱图R=24时的理想高通滤波结果图和滤波频谱图注:对理想高通滤波后的图像用直接灰度变换方法作了灰度范围的扩展。当R=2时,滤波后的图像无直流分量,但灰度的变化部分基本上都保留了;当R=8时,滤波后的图像在文字和图像边缘部分的信息仍然保留;当R=24时,滤波后的图像只剩下文字和白条边缘等信号突变的部分。六、实验心得、熟悉了MATLAB7.0的使用、验证了二维傅里叶变换的平移性和旋转不变性。、实现了对图像的频域滤波,掌握了频域图像增强,了解了低通滤波对图像的影响。实验二空间域图像增强一、实验目的1、了解空间域图像增强的各种方法(点处理、掩模处理);2、通过编写程序掌握采用直方图均衡化进行图像增强的方法;3、使用邻域平均法编写程序实现图像增强,进一步掌握掩模法及其改进(加门限法)消除噪声的原理;二、实验环境及开发工具Windws2000/XP、MATLAB6.x、VisualC++、VisualBasic或其它三、实验方法对如图所示的两幅128×128、256级灰度的数字图像fing_128.img和cell_128.img进行如下处理:(1)对原图像进行直方图均衡化处理,同屏显示处理前后图像及其直方图,比较异同,并回答为什么数字图像均衡化后其直方图并非完全均匀分布。(2)对原图像加入点噪声,用4-邻域平均法平滑加噪声图像(图像四周边界不处理,下同),同屏显示原图像、加噪声图像和处理后的图像。①不加门限;②加门限),(21nmfT,(其中ijjifNnmf),(1),(2)四、实验结果及分析1、直方图均衡化处理程序如下:clc;fid=fopen('F:\数字图像\图像指纹图fing_128.img显微医学图像cell_128.img\img\fing_128.img','r');f=fread(fid,[128,128],'uchar');subplot(2,1,1);imshow(f,[0,255]);q=zeros(1,256);forx=1:128fory=1:128q(f(x,y)+1)=q(f(x,y)+1)+1;endends=q./(128*128);X=0:255;subplot(2,1,2);bar(X,s');figure;t=zeros(1,256);t(1)=s(1);fori=2:256t(i)=t(i-1)+s(i);endsubplot(2,1,1);bar(X,t');t0=floor(255*t+0.5);subplot(2,1,2);bar(X,t0');figure;t1=zer
本文标题:数字图像处理实验一_图像变换及频域滤波
链接地址:https://www.777doc.com/doc-4013275 .html