频域空域

  • 格式:doc
  • 大小:1.38 MB
  • 文档页数:12

下载文档原格式

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

频域空域

频域

一 实验目的

1了解图像变换的意义和手段;

2熟悉傅里叶变换的基本性质;

3热练掌握FFT 方法及应用;

4通过实验了解二维频谱的分布特点;

5通过本实验掌握利用MATLAB 编程实现数字图像的傅立叶变换及滤波锐化和复原处理;

二 实验原理

1应用傅立叶变换进行图像处理

傅里叶变换是线性系统分析的一个有力工具,它能够定量地分析诸如数字化系统、采样点、电子放大器、卷积滤波器、噪音和显示点等的作用。通过实验培养这项技能,将有助于解决大多数图像处理问题。对任何想在工作中有效应用数字图像处理技术的人来说,把时间用在学习和掌握博里叶变换上是很有必要的。

2傅立叶(Fourier )变换的定义

对于二维信号,二维Fourier 变换定义为:

⎰∞∞-∞∞-+-=dy dx e y x f v u F vy ux j )(2),(),(π ⎰⎰∞

∞-∞∞-+=dv du e v u F y x f vy ux j )(2),(),(π θθθsin cos j e j +=

二维离散傅立叶变换为:

1,...,2,1,0,1,...,2,1,0for ),(1),(1010)//(2 N v M u e y x f MN v u F M x N y N vy M ux j

1,...,2,1,0,1,...,2,1,0for ),(),(101

0)//(2 N y M x e v u F y x f M u N v N vy M ux j

图像的傅立叶变换与一维信号的傅立叶变换变换一样,有快速算法,具体参见参考书目,有关傅立叶变换的快速算法的程序不难找到。实际上,现在有实现傅立叶变换的芯片,可以实时实现傅立叶变换。

3利用MATLAB 软件实现数字图像傅立叶变换的程序:

I=imread('f:\11.jpg');; %读入原图像文件

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频谱显示的函数;

3 a).调入、显示“实验一”获得的图像;图像存储格式应为“.gif”;

b)对这三幅图像做FFT并利用自编的函数显示其频谱;

c)讨论不同的图像内容与FFT频谱之间的对应关系。

4 对频谱分别进行巴特沃兹和理想低通滤波,比较效果。

5 记录和整理实验报告。

四实验仪器

1计算机;2 MATLAB程序;3移动式存储器。4记录用的笔、纸。

五实验报告内容

1叙述实验过程;

2提交实验的原始图像和结果图像,并对结果进行比较。

实验过程:

对三幅图像做FFT并利用自编的函数显示其频谱

figure(1);

a=imread ('F:\11.jpg');

imshow(a);

figure(2);

s=fftshift(fft2(a));

imshow(log(abs(s)),[]);

程序运行结果图及其频谱

由以上二幅图像各自做傅里叶变化之前之后的图像进行比较可知:原图像中若出现较多急剧变化的内容则其傅里叶变换后高频成分较多,反之若原图像中变化比较平缓则其傅里叶变换后低频成分较多,介于二者之间的图像,频率分量较分散。

对频谱分别进行巴特沃兹和理想低通滤波

理想低通滤波

J=imread ('F:\11.jpg');

subplot(331);imshow(J);

J=double(J);

f=fft2(J);

g=fftshift(f);

subplot(332);imshow(log(abs(g)),[]),color(jet(64)); [M,N]=size(f);

n1=floor(M/2);

n2=floor(N/2);

d0=5;

for i=1:M

for j=1:N

d=sqrt((i-n1)^2+(j-n2)^2);

if d<=d0

h=1;

else

h=0;

end

g(i,j)=h*g(i,j);

end

end

g=ifftshift(g);

g=uint8(real(ifft2(g)));

subplot(333);

imshow(g);

巴特沃兹滤波

I=imread ('F:\11.jpg');

J=imnoise(I,'salt & pepper',0.02); subplot(121);imshow(J);

title('含有椒盐噪声的图像')

J=double(J);

f=fft2(J);

g=fftshift(f);

[M,N]=size(f);

n=3;

d0=20;

n1=floor(M/2);

n2=floor(N/2);

for i=1:M

for j=1:N

d=sqrt((i-n1)^2+(j-n2)^2) h=1/(1+(d/d0)^(2*n));

g(i,j)=h*g(i,j);

end

end

g=ifftshift(g);

g=uint8(real(ifft2(g)));

subplot(122);

imshow(g);