实验一 图像变换及频域滤波.docx
《实验一 图像变换及频域滤波.docx》由会员分享,可在线阅读,更多相关《实验一 图像变换及频域滤波.docx(16页珍藏版)》请在冰豆网上搜索。
实验一图像变换及频域滤波
一.实验目的
(1)编写快速傅里叶变换算法程序,验证二维傅里叶变换的平移性和旋转不变。
;
(2)实现图像频域滤波,加深对频域图像增强的理解。
二.实验环境及开发工具
WindwsXP、MATALAB7.0、VisualC++、VisualBasic
三.实验方法
1.验证二维傅里叶变换的平移性和旋转不变性;
a.要验证证其平移特性,就先建立一个二维图象,然后再对其平移,通过观察两者的频谱图来观察平移特性,为了方便起见,我们选择特殊情况来分析,令u0=v0=N/2,使
F(u-N/2,v-N/2),达到将原始F(U,V)四周频谱移到中心的效果,及达到频谱中心化。
b.验证旋转不变性可以通过将原始数组的通过移动45度,然后再比较旋转后与旋转前的频谱,得出频谱旋转不变性的结论。
具体步骤:
1)产生如图1所示图像
(128×128大小,暗处=0,亮处=255)
2)同屏显示原图
和
的幅度谱图。
3)若令
,重复以上过程,比较二者幅度谱的异同。
4)将
顺时针旋转45度得到
,显示
的幅度谱,并与
的幅度谱进行比较。
2.实现图像频域滤波,加深对频域图像增强的理解。
频率域中进行增强是相当直观的,主要步骤有:
1)计算需要增强的图象的傅立叶变换;
2)将其与一个(根据需要设计的)转移的函数相乘;
3)再将结果反傅立叶变换以得到增强的图象.
为了直观的展示频域增强,可以通过下面任务来展现:
对如图2所示的数字图像lena.img(256×256大小、256级灰度)进行频域的理想低通、高通滤波,同屏显示原图、幅度谱图和低通、高通滤波的结果图。
四.实验分析
1.验证二维傅里叶变换的平移性和旋转不变性
1)建立一个二维数组并要求该数组能够显示成图1.
a=zeros(128,128)
fory=54:
74
forx=34:
94
a(x,y)=1;
end
end
然后再用显示图象的函数显示即可,在此我们用imshow(a)语句。
为了得到幅度谱图,可以地数组a进行快速傅立叶变换,然后再用
Mesh语句便可得到其幅度谱.
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:
256
fory=1:
256
if(x-128).^2+(y-128).^2t(x,y)=0;
end
end
end
通过对r数值的改变,和if条件的变化来实现不同的低通和高通情况下的滤波.
五.实验结果及结论
1.验证二维傅里叶变换的平移性和旋转不变性;
1.1产生的图像
与fft2(f1)幅度谱的程序如下:
Clc;
a=zeros(128,128)
fory=54:
74
forx=34:
94
a(x,y)=1;
end
end
figure
(1)
a1=fft2(a);
subplot(1,2,1);
imshow(a);
subplot(1,2,2);
a2=abs(a1);
mesh(a2);
forx=1:
128
fory=1:
128
b(x,y)=(-1).^(x+y).*a(x,y);
end
end
figure
(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.2得的图就是将1.1得的图的频谱往中心移.即称为频谱中心化,将能量集中的4个角往中心靠拢。
1.3若将f1(x,y)顺时针旋转45°得到
,则
及
的幅度谱图如下
结果分析:
将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:
256
fory=1:
256
if(x-128).^2+(y-128).^2>r.^2;
t(x,y)=0;
end
end
end
h2=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时的理想低通滤波结果图和滤波频谱图
R=88时的理想低通滤波后的幅度谱图
R=24时的理想低通滤波结果图和滤波幅度谱图
R=24时的理想低通滤波后的幅度谱图
R=11时的理想低通滤波结果图和滤波频谱图
R=11时的理想低通滤波结果图和滤波幅度谱图
R=5时的理想低通滤波结果图和滤波幅度谱图
(图2.5)
对于所有的低通滤波都会根据不同的半径产生如图2.5一样的频谱图.
当R=5时,滤波后的图像很模糊,无法分辨;
当R=11时,滤波后的图像比较模糊,但基本能分辨出人脸的形状;
当R=24时,滤波后的图像有些模糊,能分辨出脸上的器官轮廓,但由于理想低通滤波器在频域的锐截止特性,滤波后的图像有较明显的振铃现象;
当R=88时,滤波后的图像比较清晰,但高频分量损失后,图像边沿与文字变的有些模糊,在图像的边框附近仍有振铃现象。
2>>b.对数字图像lena.img进行频域的理想高通,同屏显示原图、幅度谱图和高通滤波的结果图。
其中,取理想高通滤波的半径R分别为2、8和24:
原图像及其幅度谱图
R=2时的理想高通滤波结果图和滤波幅度谱图
R=8时的理想高通滤波结果图和滤波幅度谱图
R=24时的理想高通滤波结果图和滤波幅度谱图
图3.5表示的是R=8时的频谱图,根据R的大小来决定中心阴影部分的圆的大小,其余部分均是高通滤波的效果.
注:
对理想高通滤波后的图像用直接灰度变换方法作了灰度范围的扩展。
当R=2时,滤波后的图像无直流分量,但灰度的变化部分基本上都保留了;当R=8时,滤波后的图像在文字和图像边缘部分的信息仍然保留;当R=24时,滤波后的图像只剩下文字和白条边缘等信号突变的部分
六、实验心得
1、熟悉了MATLAB7.0的使用
2、验证了二维傅里叶变换的平移性和旋转不变性。
3、实现了对图像的频域滤波,掌握了频域图像增强,了解了低通滤波对图像的影响。