matlab 三维显示原图像_数字图像处理:Two-Dimensional Fourier Transform and Filte

摘 要:傅立叶变换在图象处理的应用领域中起着极其重要的作用,通过傅里叶变换进行图象分析、图象增强及图象压缩等来获得需要的信息。本实验采用二维快速傅里叶变换对图像进行频域滤波,共编写了一个2-D FFT程序和一个高斯低通滤波器的程序,对图像进行滤波,并通过原图减去高斯低通滤波后的图像实现锐化并且显示图片在二维和三维当中的幅度谱和相位谱。

欢迎关注、点赞、收藏、私信、交流】共同学习进步

一、实验目的

该实验的目的是开发一个 2-D FFT 程序包。要求程序能完成下面的功能:

(1.a) 用因子乘以输入图像,以实现滤波的中心化变换;

(1.b) 计算傅里叶变换;

(1.c) 用一个实矩阵乘以一个复数矩阵,即用实矩阵中的元素同时乘以复数矩阵对应位置上的复数的实部与虚部。可以通过调用两个图像的乘法程序来实现对应元素的相乘;

(1.d) 计算反傅里叶变换;

(1.e) 结果乘以,并取其实部;

(1.f) 计算频谱。

(1.g) 计算图 4.41(a)的中心化后的傅里叶谱;

(1.f) 使用二维图像和三维图形两种形式显示计算的幅度谱和相位谱;该实验主要实现 4.7.3 节的算法。若试验中使用 MATLAB 语言实现, 则在(1.b)和(1.d)中二维傅里叶变换和反变换程序可以使用 Matlab 的函数 FFT2 和 IFFT2。

(2.a) 编写一个实现公式(4.8-6)所示的高斯低通滤波器的程序。

(2.b) 对图 4.41(a)进行高斯低通滤波以获得图 4.48(c)。

(3.a) 如公式(4.9-1)所示,原始图像减去实验(2.b)中的图像得到锐化后的图像。观察结果图像与图 4.56 中得到的高斯高通滤波结果图的差异, 并解释其中的原因。

(3.b) 调整高斯低通滤波器变量,使(3.a)中的减法锐化图与图 4.56(c)接近为止,并解释你的结果。

二、技术论述

1 离散傅里叶变换—DFT

(a)、离散傅里叶变换不是一个新的傅里叶变换形式,它来自于DFS,不过是在时域和频域各取一个周期,再经过周期延拓便可得到整个变换。离散傅里叶变换在时域和频域上都呈现离散的形式,且都是有限长。将时域信号的采样变换为在离散时间傅里叶变换(DTFT)频域的采样,而实际上这两组序列都应当被认为是离散周期信号的主值序列。DFT的公式为:

(b)、由于我们要处理的图像是二维的,所以需要用到二维离散傅里叶变换,设f(x,y)是大小为M*N的数字图像,与一维离散傅里叶变换一样必须在离散变量u和v在u=0,1,2,…,M-1和v=0,1,2,…,N-1范围内求值,二维离散傅里叶变换的公式为:

二维傅里叶反变换公式:

通常二维傅里叶变换的是复函数,因此可以用极坐标的形式来表示,令R和I是F(u,v)的实部和虚部,则:

幅度谱:

相位谱:φ(u,v)=arctan(I(u,v)/R(u,v))

功率谱:

(c)、快速傅里叶变换FFT不是与傅里叶变换不同的另一种变换,而是为了减少DFT运算次数的一种改进算法。它使其成为若干小点数的组合对变换式进行一次次分解,从而减少运算量。通常FFT以2为基数,长度N=2l,当要变换的序列长度不是2的整数次方时,仍然取2为基数的FFT,然后在末位进行补零,使其长度延长至2的整数次方。FFT具有使用非常方便、运算效率高、程序简单等优点。

2 傅里叶谱的中心化处理

在数字图像处理中通常为了清楚地观察F(u,v)的谱线情况需要将原点移到M*N频域的中心。令:,便得到:

因此若要将图像谱的原点从(0,0)移到图像的中心点(N/2,N/2)处,只要将乘上因子,然后进行傅立叶变换即可。

4 频率域滤波步骤

  1. 大小为M*N的输入图像f=(x+y),选择填充参数P>=2M-1和Q>=2N-1;
  2. 对f(x+y)添加必要数量的0,形成大小P*Q的填充后的图像;
  3. 用乘以移动到其变换中心;
  4. 计算自步骤3的DFT,得到;
  5. 生成一个实的、对称的滤波函数P*Q,中心在(P/2,Q/2)处,用阵列相乘形成H和F的乘积;
  6. 得到处理后的图像G(x,y);
  7. 通过从G(x,y)的左上象提取M*N区域,得到最终的处理结果个g(x,y)。

5 高斯低通滤波器

低通滤波是要保留图像中的低频分量而去除图像中的高频分量。图像中的边缘和噪声都对应图像频域中的高频部分,所以通过在频域中的低通滤波可以除去或消弱噪声影响并模糊边缘轮廓,与时域中的平滑方法效果类似。要实现低通滤波需要选一个合适的模板h(u,v)以得到消弱图像频率域H(u,v)的高频分量。高斯滤波器的二维函数为:

式中是距频率矩形中心的距离。是截止频率。

四、实验结果讨论

通过素材Fig4.41(a).jpg进行二维快速傅里叶变换、图像傅里叶频谱、相位谱的计算及高斯低通滤波器的设计与验证。如图4-1所示是原图像傅里叶变换的幅度谱和相位谱,图4-2是原图像的傅里叶变换三维幅度谱和相位谱,图4-3是fftshift函数中心变换后的二维傅里叶幅度谱和fft_zxzh中心变换后的二维傅里叶图,图4-4是自编程序fft_zxzh中心变换图的二维傅里叶幅度谱和相位谱,图4-5是fft_zxzh中心变换的三维傅里叶幅度谱和相位谱,图4-6是中心化变化图和原始图。(程序见附录)

a99bcac00e1447d2cfef3a062b760041.png

图4-1 原图像傅里叶变换的幅度谱和相位谱

0f77435c79cf8dbd30cf9513b17d988f.png

图4-2原图像的傅里叶变换三维幅度谱和相位谱

e08aef520bc289268d599e60514414d0.png

图4-3是fftshift和fft_zxzh函数中心变换后幅度谱和二维傅里叶图

b79dc0b8bc5ce0a2bc50fd3fec32c492.png

图4-4是自编程序fft_zxzh中心变换图的二维傅里叶幅度谱和相位谱

e850cb7ffc811a151b4aeead2530e503.png

图4-5 fft_zxzh中心变换的三维傅里叶幅度谱和相位谱

fc0e9a9476a5cac068838f0d289073c2.png

图4-6 中心化变化图和原始图

设计高斯低通滤波器程序,通过不同的截止频率D0=30、60、160可以对图4.41(a)进行高斯低通滤波以获得滤波后的图像如图4-7所示。通过原图像减去高斯低通滤波后的图像可以得到锐化后的图像如图4-8所示。

22773e91ff9ac4f5b74612b727870c3d.png

图4-7 不同截止频率时GLPF滤波后的输出图像

4ce737c2904e6585a04899724caf25a0.png

图4-8(b) 不同截止频率时锐化后的图像

五、实验结论

经过对2-D FFT和高斯低通滤波后的图像生进行对比分析可知:

通过图4-1原图像傅里叶变换的幅度谱和相位谱和图4-2原图像傅里叶变换三维的幅度谱和相位谱的对比分析可知,两者在二维的幅度谱和相位谱上没有太大的区别,但是在三维上的幅度谱和相位谱有明显是区别,经过滤波处理后的幅度谱填满了整个坐标轴,其相位谱也更加的集中在三维坐标的中心,将整个相位图进行了移动。

通过图4-3、图4-4、图4-5和图4-6的对比可以发现,图片乘以因子后,整个图片灰度变暗,是因为乘以该因子后,图片的灰度级有一半变为负数,而图片的灰度范围只有[0 255],因此灰度级为负的话默认为0,图片再进行取实和反傅里叶变化后,整体图片与原图相比变得比较模糊,那是因为该图片只取了实部的原因。对比前后的频谱图还可以发现,经过滤波后图像的频谱更加的集中了,中间的光点变小,说明达到了滤波的效果。

图4-7为经过高斯低通滤波后的图像,其中使用了不同的截止频率D0为30,60,160,可以发现随着D0的变换,得到的输出图像也会发生变换,当D0变大的时候,输出图像会越来越清晰,当D0=160时,输出图像出现了原图像没有的细节,同时边缘也出现了渐变的黑色区域,因为由于图像是在一个填充区域上实现滤波,故输出的图像边缘出现了渐变的黑色区域。

图4-8为用原图像减去不同截止频率的滤波图像后的锐化效果。可以看到在取较小的值的时候锐化效果更为明显,当=30时,图像要比其他的图片要清晰。观察结果图像与课本图4.56中得到的高斯高通滤波结果图的差异,在取值相同的情况下,原图像减去滤波图像后的输出图像的边缘亮度要高于直接使用高斯滤波器的滤波图像。调整高斯低通滤波器变量时得到的减法锐化图像与图4.56(c)效果接近。

附录:程序清单

%1 % 2-D FFT 程序包
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值