matlab进行图像傅里叶变换去噪(fft2、fftshift、ifft2、ifftshift)

本文介绍了使用MATLAB进行图像傅里叶变换去噪的方法。通过傅里叶变换将图像从空域转换到频域,保留低频部分并消除高频噪声,然后进行反变换恢复图像,实现去噪效果。代码示例展示了该过程。
摘要由CSDN通过智能技术生成

在数字图像处理中,去噪是一个经常进行的操作。
除了在空域上进行去噪,比如使用均值滤波、中值滤波等等滤波器外,利用傅里叶变换在频域上进行操作也是一种非常有效的方式。

使用傅里叶变换进行图像去噪的原理如下:
我们知道,图像中的噪声往往代表着图像上灰度值的突变,从而对应着高频部分,而图像中的其他大部分内容则主要集中在低频部分。
因此,通过将空间图像进行傅里叶变换后,转化到频域上,我们可以得到这个图像每个像素的相位和幅度值。
对于相位而言,代表着图像中的位置形状信息,一般情况下我们不对其做处理,否则可能就无法恢复出原始图像的形状。
而幅度值则主要代表着能量的大小,也就是每一个频率上的能量大小。我们只要将高频部分的能量值置为0,就可以去除噪声。
需要注意的是,在进行傅里叶变换(fft2)后,低频部分集中分布在四个角落,通过移位(fftshift)之后,将其集中到图像的中心,这只是为了便于处理。
当我们对幅值进行处理后,再进行反移位(ifftshift)恢复到原始的分布情况,之后结合相位计算出每个像素对应的值。
对其进行傅里叶反变换(ifft)后,就可以恢复出时域图像,此时图像上的噪声就可以去除了。

一个具体例子如下所示:
代码:

clear;
clc;
F = imread('C:\Users\asus1\Desktop\IMG_20170708_090611.jpg');
F1 = rgb2gray(F
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值