CV学习笔记6-一维傅里叶正、逆变换公式

2024-08-22 03:44

本文主要是介绍CV学习笔记6-一维傅里叶正、逆变换公式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

傅里叶变换是一种重要的数学工具,用于将信号从时域转换到频域。傅里叶变换在信号处理、图像处理等领域有广泛的应用。以下是 一维傅里叶变换 的正变换和逆变换的公式:

1. 一维傅里叶正变换

傅里叶正变换将时域信号转换为频域信号。其公式为:

X ( f ) = ∫ − ∞ ∞ x ( t ) ⋅ e − j 2 π f t d t X(f) = \int_{-\infty}^{\infty} x(t) \cdot e^{-j 2 \pi f t} \, dt X(f)=x(t)ej2πftdt

其中:

  • ( x(t) ) 是时域信号。
  • ( X(f) ) 是频域信号。
  • ( f ) 是频率。
  • ( t ) 是时间。
  • ( j ) 是虚数单位, j 2 = − 1 j^2 = -1 j2=1.

2. 一维傅里叶逆变换

傅里叶逆变换将频域信号转换回时域信号。其公式为:

x ( t ) = ∫ − ∞ ∞ X ( f ) ⋅ e j 2 π f t d f x(t) = \int_{-\infty}^{\infty} X(f) \cdot e^{j 2 \pi f t} \, df x(t)=X(f)ej2πftdf

其中:

  • ( x(t) ) 是时域信号。
  • ( X(f) ) 是频域信号。
  • ( f ) 是频率。
  • ( t ) 是时间。
  • ( j ) 是虚数单位, j 2 = − 1 j^2 = -1 j2=1.

离散傅里叶变换(DFT)和离散傅里叶逆变换(IDFT)

在计算机处理中,信号通常是离散的,因此使用离散傅里叶变换(DFT)和离散傅里叶逆变换(IDFT):

1. 离散傅里叶变换(DFT)

X [ k ] = ∑ n = 0 N − 1 x [ n ] ⋅ e − j 2 π k n N X[k] = \sum_{n=0}^{N-1} x[n] \cdot e^{-j \frac{2 \pi k n}{N}} X[k]=n=0N1x[n]ejN2πkn

其中:

  • ( x[n] ) 是离散时域信号。
  • ( X[k] ) 是离散频域信号。
  • ( N ) 是信号的长度。
  • ( k ) 是频域的索引。
  • ( n ) 是时域的索引。

2. 离散傅里叶逆变换(IDFT)

x [ n ] = 1 N ∑ k = 0 N − 1 X [ k ] ⋅ e j 2 π k n N x[n] = \frac{1}{N} \sum_{k=0}^{N-1} X[k] \cdot e^{j \frac{2 \pi k n}{N}} x[n]=N1k=0N1X[k]ejN2πkn

其中:

  • ( x[n] ) 是离散时域信号。
  • ( X[k] ) 是离散频域信号。
  • ( N ) 是信号的长度。
  • ( k ) 是频域的索引。
  • ( n ) 是时域的索引.

快速傅里叶变换(FFT)

为了提高傅里叶变换的计算效率,快速傅里叶变换(FFT)算法被广泛应用,它可以大幅度加速离散傅里叶变换(DFT)的计算。

这些变换在信号处理、数据分析、图像处理等领域都扮演了重要的角色。

傅里叶变换在图像分析中扮演着重要的角色,通过将图像从空间域转换到频域,可以进行多种分析和处理。以下是傅里叶变换在图像分析中的一些主要作用和应用:

1. 图像滤波

1.1 高频滤波与低频滤波

  • 低频滤波:通过在频域中抑制高频成分,可以去除图像中的噪声和细节,常用于图像平滑(如高斯模糊)。
  • 高频滤波:通过增强高频成分,可以突出图像的边缘和细节,常用于图像锐化。

1.2 滤波器设计

  • 在频域设计滤波器,如理想低通滤波器、高斯滤波器等,然后在空间域中应用滤波器进行图像处理。

2. 图像压缩

2.1 离散余弦变换(DCT)

  • 在图像压缩中,DCT(如 JPEG 压缩标准)用于将图像数据转换到频域,通过丢弃高频信息来减小数据量,从而实现压缩。

2.2 频域量化

  • 将频域中的图像系数量化以减少数据量,这些系数在压缩过程中可以进行有效编码。

3. 图像恢复与去噪

3.1 去噪

  • 在频域中对图像进行去噪处理,通过抑制或删除噪声频率分量,恢复清晰图像。

3.2 去模糊

  • 对受模糊影响的图像进行频域分析,使用逆滤波或维纳滤波恢复图像细节。

4. 图像特征提取

4.1 边缘检测

  • 通过傅里叶变换分析图像的频率成分,识别图像中的边缘和纹理特征。

4.2 纹理分析

  • 分析图像的频率特性以识别和分类纹理,傅里叶变换可以帮助识别周期性或重复的纹理模式。

5. 图像对齐与配准

5.1 频域配准

  • 使用傅里叶变换进行图像配准,通过计算图像在频域中的相关性来对齐不同的图像。

5.2 图像变换

  • 频域分析可以用于图像的几何变换,如旋转、缩放等,傅里叶变换提供了一种高效的方法来处理这些变换。

6. 图像复原

6.1 复原被损坏的图像

  • 通过频域的处理来修复图像中的损坏或缺失部分,应用傅里叶变换来推测和恢复原始图像信息。

7. 实现示例

以下是使用傅里叶变换进行图像处理的简单示例(Python + NumPy + OpenCV):

图像低通滤波示例

import cv2
import numpy as np
import matplotlib.pyplot as plt# 读取图像并转换为灰度图
image = cv2.imread('image.jpg', cv2.IMREAD_GRAYSCALE)# 进行傅里叶变换
f = np.fft.fft2(image)
fshift = np.fft.fftshift(f)# 创建一个低通滤波器
rows, cols = image.shape
crow, ccol = rows // 2, cols // 2
radius = 30
mask = np.ones((rows, cols), np.uint8)
center = [crow, ccol]
x, y = np.ogrid[:rows, :cols]
mask_area = (x - center[0])**2 + (y - center[1])**2 <= radius*radius
mask[mask_area] = 0# 应用滤波器
fshift = fshift * mask
f_ishift = np.fft.ifftshift(fshift)
img_back = np.fft.ifft2(f_ishift)
img_back = np.abs(img_back)# 显示结果
plt.subplot(121), plt.imshow(image, cmap='gray'), plt.title('Input Image')
plt.subplot(122), plt.imshow(img_back, cmap='gray'), plt.title('Filtered Image')
plt.show()

总结

傅里叶变换在图像分析中提供了一个强大的工具,用于频域分析和处理图像数据。它能够有效地用于图像滤波、压缩、去噪、特征提取和复原等任务,极大地增强了图像处理的能力和效率。通过将图像从空间域转换到频域,傅里叶变换使得许多图像处理问题可以在更适合的域中进行处理。

这篇关于CV学习笔记6-一维傅里叶正、逆变换公式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1095146

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

hdu 4565 推倒公式+矩阵快速幂

题意 求下式的值: Sn=⌈ (a+b√)n⌉%m S_n = \lceil\ (a + \sqrt{b}) ^ n \rceil\% m 其中: 0<a,m<215 0< a, m < 2^{15} 0<b,n<231 0 < b, n < 2^{31} (a−1)2<b<a2 (a-1)^2< b < a^2 解析 令: An=(a+b√)n A_n = (a +

线性代数|机器学习-P36在图中找聚类

文章目录 1. 常见图结构2. 谱聚类 感觉后面几节课的内容跨越太大,需要补充太多的知识点,教授讲得内容跨越较大,一般一节课的内容是书本上的一章节内容,所以看视频比较吃力,需要先预习课本内容后才能够很好的理解教授讲解的知识点。 1. 常见图结构 假设我们有如下图结构: Adjacency Matrix:行和列表示的是节点的位置,A[i,j]表示的第 i 个节点和第 j 个