傅里叶变换在图像中的应用

一、频域在图像中的应用

1.图像增强与图像去噪
绝大部分噪音都是图像的高频分量,通过低通滤波器来滤除高频——噪声;  边缘也是图像的高频分量,可以通过添加高频分量来增强原始图像的边缘;
2.图像分割之边缘检测
提取图像高频分量
3.图像特征提取:
形状特征:傅里叶描述子
纹理特征:直接通过傅里叶系数来计算纹理特征
其他特征:将提取的特征值进行傅里叶变换来使特征具有平移、伸缩、旋转不变性
4.图像压缩
可以直接通过傅里叶系数来压缩数据;常用的离散余弦变换是傅立叶变换的实变换;

     低频代表图像中的渐变,它们包含最多的信息,因为它们决定了图像中的整体形状或模式。高频对应于图像中的突然变化,它们在图像中提供更多的细节。

二、傅里叶变换在图像中的显示

       如果输入二维图像数据,则显示的图像是输入的灰度分布,傅立叶频谱是输入的频率分布,频谱图中心对称。图像频谱即二维频谱图通过对原图像进行水平和竖直两个方向的所有扫描线处一维傅立叶变换的叠加得到。

      频谱图中心代表的是低频,往四面八方扩展后逐渐变为高频,并且左上-右下、右上-左下完全对称。其中黑色部分即表明该图像不含有该部分的频率,相反颜色越亮,代表该频率的幅值越高。通常我们会发现中心处是最亮的,即低频信号是最多的,这也和原时域图的信息是匹配的。

 

                                                            原始图像

                                                         没有移位的傅里叶变换图像

                                      移位后的图像,移位是为了将零频率成分移到图像的中心 

在傅立叶域中,中心区域代表低频分量,外围区域代表高频分量,图像的中心代表零频率的直流值,即图像的总强度。其中频域中的每个点都是根据整个空间图像计算的。

2.1二维图像和频谱图的关联

        关于频谱图,通常其图像size 和原时域图相同,但其(u, v)坐标和原图的(u, v)坐标并没有一一对应的关系。为了尽可能直观描述图像和频谱图的关联,下图描绘了一个只有一行像素的图像和其频谱图的示意图(事实上下图并不严谨,但足以让我们对频谱图不再那么陌生)。以此为扩展,我们便能更加直观的理解在二维图像里,各个方向的频率和图像的关联关系了。

我们从单个点的频率开始,来分析一下频谱图和原图是如何关联的。

DC(低频),也被叫做傅里叶变换的基底,它代表图中最平滑的区域,它的值等于原图的平均亮度值。其他的各频段的正弦波信号均是在该值的基础上叠加的。假设一张图没有任何梯度,即完全平滑,那么它的傅里叶谱图长什么样呢:

        我们看到,上图1时域图是纯黑色,对应的频谱图也是纯黑色(说明基底也等于0);上图2时域图是灰色,对应的频谱图除了基底是一个灰点外,其他频段都为0;同样的上图3时域图是纯白色,频谱图得到相对更亮的基底。说明对于一张没有梯度的图,只存在低频信息,严格的说是周期无限大、频率无限小。我们回忆一下上面描述的一维傅里叶变换对于周期矩形的公式表示,即此时只存在A/2的分量,其他分量均为0。

 接下来我们再看下面的图:

我们可以发现,上图第一行的时域图,均是X 方向上的正弦分布的灰度图,且从左向右频率越来越高,同时对应于第二行的频谱图,我们可以发现四个信息:

  1. 只有2个点(对称关系,实则即1个点)
  2. 随着频率越高,亮点离中心点的距离越远
  3. 亮点在频谱图的x方向上,与时域图正弦分布的方向一致
  4. 基底为0,对应于时域图的平均亮度也为0

        这时,我们应该可以确定,频谱图上一个点对应于一张呈正弦分布的时域图,其亮度值代表其幅值(如果亮度为0,幅值也为0 ,则不会对原图有任何的贡献也不会有任何的影响);其正弦分布的方向与点在频谱图上相对于中心点的方向也是一一对应的。如下面的图,正弦方向从上向下展开,对应于的频谱图上的点也在Y 方向上;如果频谱图上的点相对于中心点有一定角度,对应的时域正弦图像也有一定的角度。

另外,有一点我们还需要提及,那就是频谱图中不包含相位信息,相位信息有专门的相位图来表示。如下图:

 

       图中最右方的三张图即是相位图。除此之外我们应该能发现,频谱图内容会随着时域图的角度不同而有所不同,但不会随着原图的平移而产生不同;但对相位图而言,无论原图有旋转还是平移,都会出现变化。 

      最后,我们再回到图像的时域-频域对应关系。我们已经知道频谱图上每一个点均代表一个固定频率、幅值、相位的正弦波图像,那么抛开频谱图上幅值为0 的点外,其他的所有点都映射着一张正弦图。而傅里叶级数告诉我们,任何一条连续函数,都可以用多个正弦周期函数叠加而成,或者我们直接映射二维傅里叶(反)变换公式:

即我们把所有的正弦图(F(w))叠加在一起,便能够恢复出原始的时域图。我们再来看下面这张图,假设频谱图中有1000个值不为0 的亮点,那么它们会生成1000张固定频率、幅值和相位的正弦图像,把这一千张图像加在一起(包括基底的图),我们就能得到左边的原图。

 

2.2  频谱图的意义

       接下来我们可以进一步思考,得到频谱图后有什么意义呢?从上面的描述我们知道,图像的傅里叶变换和反变换,就是将一张图从时域转换为频域再转换回时域的过程,最终时域才是我们的目标。因此将图像变换到频域后,可以供我们做一些与频率相关的事情后再转回时域。如滤波,见下图:

上图为原始图片的时域和频域图,下图为我们将低频信号的幅值变为0后的时域-频域图(相信我们应该可以快速的get 到下面右边的频谱图是如何变成左边的时域梯度图的了)

      下图为保留低频信息,滤除高频信息的图。这里我们应该会想到时域的卷积运算,通过对原图做一次卷积如Box Filter 或者高斯滤波等,不也可以得到类似的结果吗。是的,通过卷积运算我们可以得到一张模糊的图,上面的高频也一样可以通过索贝尔滤波、拉普拉斯滤波得到只保留边界的图;但卷积的本质仍然是通过消除图像的高频或者低频信息,保留另外的频率成分的结果。

那么带通滤波器同样也会得到应有的结果,可以理解在频域里得到这样的图片,比在时域里去对图像做变换得到这样的图片要简单很多。

2.3 傅里叶变换与反变换:空域卷积-频域乘积

下面以Box Filter 为例,来分析一下在空域和频域滤波的关系。见下图,已知空域的卷积恒等于频域的乘法(反之一样),那么我们重点看下方的频域乘法,即两张频谱图对应点的乘积,变成了等号右边的频谱图,我们可以发现等号右边的频谱图相比左边的频谱原图,发生了很大的变化,特别是高频的区域都变成了黑色,其等号右边的图很像上方右边的频谱图,即只有低频部分有幅值。

另外补充一点关于卷积核的频谱图。如下图,卷积核的频谱图即是构建一张中间3*3区域为白色幅值,其他部分为0幅值的图,对其进行傅里叶变换,得到右边的频谱图。 

如果我们将3*3扩大后,其对应关系也会发生如下的变化。相比上面的频谱图,下面的频谱图拥有更少的高频信息,用该图和原图的频谱图做乘法,可以获得更为模糊的图像,这和我们用7*7的卷积核比用3*3的卷积核做卷积可以得到更模糊的图像是一个道理。 

 

<think>好的,我现在要帮助用户了解如何使用傅里叶变换进行图像去噪。首先,我需要回忆傅里叶变换的基本原理以及在图像处理中的应用傅里叶变换能将图像从空间域转换到频率域,这样图像中的噪声通常表现为高频成分。去噪的关键就是如何识别并去除这些高频噪声,同时保留有用的图像信息。 根据用户提供的引用,特别是引用[1]、[3]和[4],傅里叶变换图像处理中的应用包括去噪、增强等。引用[3]给出了添加高斯噪声后进行傅里叶变换的MATLAB代码示例,这可以帮助我理解实际操作的步骤。而引用[4]提到小波变换的方法,但用户的问题是关于傅里叶变换的,所以需要集中讨论傅里叶变换的方法。 接下来,我需要整理傅里叶变换去噪的基本步骤。通常步骤包括:将图像转换为灰度,进行傅里叶变换并移到频域中心,设计滤波器(如低通、高通或带阻)来去除噪声频率,然后进行逆变换回到空间域。引用[3]中的代码展示了如何添加噪声、进行傅里叶变换和显示频谱图,但去噪部分需要进一步补充。 用户可能对具体实现步骤感兴趣,比如如何用Numpy或OpenCV实现。根据引用[1],Numpy和OpenCV都可以实现傅里叶变换,但具体实现细节可能需要进一步查阅。例如,使用Numpy的fft2函数进行变换,fftshift移动频谱,然后应用滤波器,再逆变换回来。 需要注意的是,傅里叶变换去噪的优缺点。优点是对于周期性噪声(如高斯噪声)效果较好,但可能会模糊图像边缘,因为边缘也是高频信息。这点需要向用户说明,避免误解。 此外,用户可能想知道如何选择滤波器类型和参数。比如低通滤波器的截止频率如何确定,或者如何设计带阻滤波器来消除特定频率的噪声。这部分可能需要结合实验或经验调整,引用中没有详细说明,但可以建议用户通过观察频谱图来识别噪声频率。 最后,根据用户的要求,需要生成相关问题。问题应围绕傅里叶变换去噪的扩展,比如与小波变换的比较、不同噪声类型的处理、参数影响等。引用[2]和[4]提到了小波变换,可以作为对比问题的基础。 总结步骤: 1. 傅里叶变换的基本原理和在图像处理中的应用。 2. 具体步骤:转换灰度、傅里叶变换、滤波器设计、逆变换。 3. 代码示例(Python实现,参考引用中的MATLAB代码转换为Python)。 4. 优缺点分析。 5. 参数调整和实际应用中的注意事项。 6. 相关问题生成。</think>### 如何利用傅里叶变换进行图像去噪? #### **基本原理** 傅里叶变换图像从空间域转换到频率域,图像中的噪声通常表现为高频成分。通过设计滤波器抑制或消除高频噪声,再通过逆变换恢复图像,达到去噪目的[^1][^3]。 --- #### **具体步骤及实现方法** 1. **图像预处理** - 将彩色图像转为灰度图(若需保留颜色信息需分通道处理): ```python import cv2 img = cv2.imread('image.jpg') gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) ``` 2. **傅里叶变换与频谱分析** - 使用Numpy或OpenCV进行傅里叶变换并平移频谱: ```python import numpy as np f = np.fft.fft2(gray_img) # 傅里叶变换 f_shift = np.fft.fftshift(f) # 将低频移到中心 magnitude_spectrum = 20 * np.log(np.abs(f_shift)) ``` 3. **设计滤波器去除噪声** - **低通滤波器**:保留低频信号(图像主体),抑制高频(噪声): ```python rows, cols = gray_img.shape mask = np.zeros((rows, cols), np.uint8) center = (rows//2, cols//2) radius = 30 # 截止频率,需根据噪声调整 cv2.circle(mask, center, radius, 1, -1) # 圆形掩模 f_filtered = f_shift * mask ``` - **带阻滤波器**:针对特定频率噪声(如周期性条纹)。 4. **逆变换恢复图像** ```python f_ishift = np.fft.ifftshift(f_filtered) img_restored = np.fft.ifft2(f_ishift) img_restored = np.abs(img_restored) ``` --- #### **优缺点分析** - **优点**:对高斯噪声、周期性噪声效果显著[^3][^4]。 - **缺点**:可能模糊图像边缘(边缘也是高频信息),需平衡去噪与细节保留。 --- #### **参数调整技巧** 1. **截止频率**:通过观察频谱图(如引用[3]的频谱图)定位噪声区域,调整滤波器半径。 2. **滤波器类型**:高斯低通滤波器可减少振铃效应。 --- #### **完整代码示例(Python)** ```python import cv2 import numpy as np import matplotlib.pyplot as plt # 读取图像并添加高斯噪声 img = cv2.imread('peppers.png', 0) noisy_img = img + np.random.normal(0, 20, img.shape).astype(np.uint8) # 傅里叶变换 f = np.fft.fft2(noisy_img) f_shift = np.fft.fftshift(f) # 设计低通滤波器 rows, cols = img.shape mask = np.zeros((rows, cols), np.uint8) cv2.circle(mask, (cols//2, rows//2), 50, 1, -1) # 滤波与逆变换 f_filtered = f_shift * mask f_restored = np.fft.ifftshift(f_filtered) img_restored = np.abs(np.fft.ifft2(f_restored)) # 显示结果 plt.subplot(121), plt.imshow(noisy_img, cmap='gray'), plt.title('带噪图像') plt.subplot(122), plt.imshow(img_restored, cmap='gray'), plt.title('去噪结果') plt.show() ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值