数字图像处理实验3 冈萨雷斯

  • 格式:doc
  • 大小:1.00 MB
  • 文档页数:4

下载文档原格式

  / 4
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验三 图像的傅里叶变换

一、实验目的

1、 掌握二维 DFT 变换及其物理意义

2、 掌握二维 DFT 变换的 MATLAB 程序

3、 空间滤波及频域滤波 二、实验内容

1、 利用 MATLAB 实现数字图像的傅里叶变换

读入并显示图 Fig0316(3)(third_from_top).tif ,作该图的二维 FFT 变换 F ,将其直流分量移到频 谱中心 F1,计算其实部 RR 、虚部 II ,用两种方法计算及幅值 A1=abs(F1)和 A2=sqrt(RR.^2+II.^2), 分别显示 A1 和 A2,并加以比较。

2、 近似冲击函数二维傅里叶变换

A=zeros(99,99); A(49:51,49:51)=1;

作 A 的二维傅里叶变换 B ,将 B 直流分量移到频谱中心 B1,分别用函数 imshow 和 mesh 显示 A 和 B1 模的对数(log(1+abs(B1)))

空域图像频域图像

1

10

0.8

8

0.6 6

0.4 4

0.2 2

50

40 50

30 40

20 30

20

10 10

0 0

50

4050 3040

2030

20

1010

00

3、空间滤波与频域滤波

将图Fig0504(a)(gaussian-noise).tif(f)分别进行空间与频域滤波。

空间滤波:

用fspecial 产生9*9,标准差为2 的高斯滤波器w,用函数imfilter 对f 进行空间滤波,得到滤波后的图像fi1。

频域滤波

将上述高斯滤波器w 用函数freqz2 获得其256*256 频域形式W,用W 在频域滤波图像f(注意W 的直流分量在频谱中心),得到Ff,求其傅里叶逆变换(ifft2),得到滤波后的图像fi2。

用函数imshow 显示w,用函数mesh 显示W,用imshow 显示f,fi1,Ff 的模的对数,fi2。比较fi1 与fi2。

1 0.8

0.6

0.4

0.2

0 60

40

60

40

20

20

0 0

三、实验要求 在屏幕上显示出各

个图像。

程序:

i=imread('Fig0316(3)(third_from

_top).tif'); figure,imshow(i);

title('Fig0316(3)(third_from_top).

tif'); f=fft2(i);

f1=fftshift(f);

rr=real(f1);

ii=imag(f1);

a1=abs(f1);

a2=sqrt(rr.^2+ii^2);

aa1=log(1+a1);

aa2=log(1+a2);

figure,imshow(aa1,[]);

title('a1 abs');

figure,imshow(aa2,[]);

title('a2 sqrt');

A=zeros(99,99);

A(49:51,49:51)=1;

B=fft2(A);

B1=fftshift(B);

figure,imshow(A);

title('冲击函数imsow');

figure,mesh(A);

title('冲击函数mesh');

figure,imshow(log(1+abs(B1))); title('冲击函数频域模mesh'); figure,mesh(log(1+abs(B1))) title('冲击函数频域模mesh');

g=imread('Fig0504(a)(gaussian-noise).tif');

G=fft2(g);

w=fspecial('gaussian',9,2);

fi1=imfilter(g,w);

W=freqz2(w,256,256);

W1=ifftshift(W);

Ff=G.*W1;

fi2=real(ifft2(Ff));

figure,imshow(w);

title('w');

figure,mesh(W);

title('W');

figure,imshow(g);

title('Fig0504(a)(gaussian-

noise).tif(g)');

figure,imshow(fi1,[]);

title('空间滤波');

figure,imshow(fi2,[]);

title('频域滤波')