实验一 图像变换及频域滤波.docx

上传人:b****6 文档编号:7976000 上传时间:2023-01-27 格式:DOCX 页数:16 大小:569.59KB
下载 相关 举报
实验一 图像变换及频域滤波.docx_第1页
第1页 / 共16页
实验一 图像变换及频域滤波.docx_第2页
第2页 / 共16页
实验一 图像变换及频域滤波.docx_第3页
第3页 / 共16页
实验一 图像变换及频域滤波.docx_第4页
第4页 / 共16页
实验一 图像变换及频域滤波.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

实验一 图像变换及频域滤波.docx

《实验一 图像变换及频域滤波.docx》由会员分享,可在线阅读,更多相关《实验一 图像变换及频域滤波.docx(16页珍藏版)》请在冰豆网上搜索。

实验一 图像变换及频域滤波.docx

实验一图像变换及频域滤波

一.实验目的

(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).^2

t(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、实现了对图像的频域滤波,掌握了频域图像增强,了解了低通滤波对图像的影响。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 理化生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1