数字图像处理实验三:图像的频域处理

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

数字图像处理实验报告

实验三、图像的频域处理

一、实验类型:综合性实验

二、实验目的

1. 掌握二维傅里叶变换的原理。

2. 掌握二维傅里叶变换的性质。

三、实验设备:安装有MATLAB 软件的计算机

四、实验原理

傅里叶变换在图像增强、图像分析、图像恢复和图像压缩等方面扮演

着重要的角色。在计算机上使用傅里叶变换常常涉及到该变换的另一种形

式——离散傅里叶变换(DFT )。使用这种形式的傅里叶变换主要有以下两

方面的理由:

·DFT 的输入和输出都是离散的,这使得计算机处理更加方便;

·求解DFT 问题有快速算法,即快速傅里叶变换(FFT )。

MATLAB 函数fft,fft2 和fftn 可以实现傅里叶变换算法,分别用来计算

1 维DFT、

2 维DFT 和n 维DFT。函数ifft,ifft2 和ifftn 用来计算逆DFT。

下面结合一个例子进行演示。

(1)创建一个矩阵f,代表一个二值图像。

f=zeros(30,30);

f(5:24,13:17)=1;

imshow(f,’notruesize’)

(2 )用以下命令计算f 的DFT 并可视化。

F=fft2(f);

F2=log(abs(F));

imshow(F2,[-1 5],’notruesize’);colormap(jet);colorbar

(3)为了获取傅里叶变换的更佳的取样数据,计算F 的DFT 时给它进行0 填充。0 填充和DFT 计算可以用下面的命令一步完成。

F=fft2(f,256,256);

上面的命令在计算DFT 之前将F 的大小填充为256 ×256。

imshow(log(abs(F)),[-1 5]);colormap(jet);colorbar

(4 )但是,0 频率系数仍然显示在左上角而不是中心位置。可以用

fftshift 函数解决这个问题,该函数交换F 的象限,使得0 频率系数位于中

心位置上。

F=fft2(f,256,256)

F2=fftshift(F);

imshow(log(abs(F2)),[-1 5]);colormap(jet);colorbar

五、实验内容

选择一幅图像,对其进行离散傅立叶变换,观察离散傅立叶频谱,并

演示二维离散傅立叶变换的主要性质(如平移性、旋转性)。

六、实验步骤与结果

(1)创建一个矩阵f,代表一个二值图像。

f=zeros(60,60);

f(10:48,26:34)=1;

imshow(f,'notruesize')

得到二值图像f,如图所示:

(2 )用以下命令计算f 的DFT 并可视化。

F=fft2(f);

F2=log(abs(F));

imshow(F2,[-1 5],’notruesize’);colormap(jet);colorbar 得到没有0 填充的离散傅里叶变换,如图所示:

(3)为了获取傅里叶变换的更佳的取样数据,计算F 的DFT 时给它进行0 填充。0 填充和DFT 计算可以用下面的命令一步完成。

F=fft2(f,256,256);

上面的命令在计算DFT 之前将F 的大小填充为256 ×256。

imshow(log(abs(F)),[-1 5]);colormap(jet);colorbar

得到有0 填充的离散傅里叶变换,如图所示:

(4 )用fftshift 函数交换F 的象限,使得0 频率系数位于中

心位置上。

F=fft2(f,256,256)

F2=fftshift(F);

imshow(log(abs(F2)),[-1 5]);colormap(jet);colorbar

得到用fftshift 函数处理后的图像,如图所示:

相关文档
最新文档