预览加载中,请您耐心等待几秒...
1/3
2/3
3/3

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

数字图像处理实验报告 实验三、图像的频域处理 一、实验类型:综合性实验 二、实验目的 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,[-15],’notruesize’);colormap(jet);colorbar (3)为了获取傅里叶变换的更佳的取样数据,计算F的DFT时给它进行0填充。0填充和DFT计算可以用下面的命令一步完成。 F=fft2(f,256,256); 上面的命令在计算DFT之前将F的大小填充为256×256。 imshow(log(abs(F)),[-15]);colormap(jet);colorbar (4)但是,0频率系数仍然显示在左上角而不是中心位置。可以用 fftshift函数解决这个问题,该函数交换F的象限,使得0频率系数位于中 心位置上。 F=fft2(f,256,256) F2=fftshift(F); imshow(log(abs(F2)),[-15]);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,[-15],’notruesize’);colormap(jet);colorbar 得到没有0填充的离散傅里叶变换,如图所示: (3)为了获取傅里叶变换的更佳的取样数据,计算F的DFT时给它进行0填充。0填充和DFT计算可以用下面的命令一步完成。 F=fft2(f,256,256); 上面的命令在计算DFT之前将F的大小填充为256×256。 imshow(log(abs(F)),[-15]);colormap(jet);colorbar 得到有0填充的离散傅里叶变换,如图所示: (4)用fftshift函数交换F的象限,使得0频率系数位于中 心位置上。 F=fft2(f,256,256) F2=fftshift(F); imshow(log(abs(F2)),[-15]);colormap(jet);colorbar 得到用fftshift函数处理后的图像,如图所示: