两个冲击函数相乘的傅里叶变换_浅谈傅里叶变换 (一)

c53673e28f7ee3c28a0fdbd3ff7cdc63.png

笔者是一名通信工程在读的大三学生,根据费曼技巧,掌握知识的最好方法是将其用自己的语言表达出来,因此我决定写这系列文章以此加深自己对傅里叶变换的认识,也将其当作自己的学习笔记,希望我能坚持更新。

说到傅里叶变换,不是相关专业的人应该一脸茫然,而跟我同专业的大部分同学应该都谈虎色变,毕竟傅里叶变换拥有的名词实在是太多了,我先将其全部写出来,在以后的日子里我们会慢慢谈到它们每个所具有的意义以及内在联系:

FS:傅里叶级数 Fourier Series

FT:傅里叶变换 Fourier Transform

CTFS:连续时间傅里叶级数 Continuous Time Fourier Series

CTFT:连续时间傅里叶变换 Continuous Time Fourier Transform

DFS:离散傅里叶级数Discrete Fourier Series

DTFT:离散时间傅里叶变换 Discrete Time Fourier Transform

DFT:离散傅里叶变换 Discrete Fourier Transform

FFT:快速傅里叶变换 Fast Fourier Transform

那么首先我们先从最基本的两个问题开始讲起。

什么是傅里叶变换?

我们都知道,看待任何一件事物

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是傅里叶变换低通滤波的 Python 代码示例: ```python import numpy as np import cv2 # 定义函数进行傅里叶变换 def fourier_transform(img): # 将图像转换为灰度图 gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 进行傅里叶变换 f = np.fft.fft2(gray) # 将零频率分量移到频谱图的中心 fshift = np.fft.fftshift(f) # 返回频谱图 return fshift # 定义函数进行傅里叶逆变换 def inv_fourier_transform(fshift): # 将频谱图的中心移到左上角 f_ishift = np.fft.ifftshift(fshift) # 进行傅里叶逆变换 img_back = np.fft.ifft2(f_ishift) # 取实部得到灰度图像 img_back = np.real(img_back) # 返回灰度图像 return img_back # 定义函数进行低通滤波 def low_pass_filter(fshift, d): # 获取频谱图的大小 rows, cols = fshift.shape # 创建一个与频谱图大小相同的矩阵 mask = np.zeros((rows, cols), np.uint8) # 计算中心点的坐标 center_row, center_col = int(rows/2), int(cols/2) # 创建圆形掩模 for i in range(rows): for j in range(cols): if np.sqrt((i-center_row)**2 + (j-center_col)**2) < d: mask[i, j] = 1 # 将掩模与频谱图相乘 fshift = fshift * mask # 返回处理后的频谱图 return fshift # 读取图像 img = cv2.imread("lena.jpg") # 进行傅里叶变换 fshift = fourier_transform(img) # 设置低通滤波的截止频率 d = 30 # 进行低通滤波 fshift = low_pass_filter(fshift, d) # 进行傅里叶逆变换 img_back = inv_fourier_transform(fshift) # 显示原图和处理后的图像 cv2.imshow("Original", img) cv2.imshow("Low Pass Filtered", img_back) cv2.waitKey(0) cv2.destroyAllWindows() ``` 在这个代码示例中,我们使用 OpenCV 库进行图像处理,并使用 NumPy 库进行矩阵计算。首先定义了一个 `fourier_transform` 函数,它可以将输入的图像进行傅里叶变换并返回频谱图。然后定义了一个 `inv_fourier_transform` 函数,它可以进行傅里叶逆变换并返回灰度图像。接下来定义了一个 `low_pass_filter` 函数,它可以对输入的频谱图进行低通滤波,并返回处理后的频谱图。最后,我们读取了一张名为 "lena.jpg" 的图像,并使用 `fourier_transform` 函数进行傅里叶变换。然后,我们设置了低通滤波的截止频率,并使用 `low_pass_filter` 函数进行低通滤波。最后,我们使用 `inv_fourier_transform` 函数进行傅里叶逆变换,并显示原图和处理后的图像。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值