傅里叶级数、傅里叶变换、小波变换、离散余弦变换的理解

news/2024/7/21 7:29:58 标签: 图像处理

目录

    • 1. 傅里叶级数
    • 2.傅里叶变换

1. 傅里叶级数

功能:能把任意周期性函数展开成一系列正弦、余弦函数的和。

公式:

f ( x ) = a 0 2 + ∑ n = 1 ∞ ( a n cos ⁡ ( 2 π n x T ) + b n sin ⁡ ( 2 π n x T ) ) 傅里叶系数 a n = 2 T ∫ x 0 x 0 + T f ( x ) ⋅ cos ⁡ ( 2 π n x T ) d x , n ∈ { 0 } ⋃ N b n = 2 T ∫ x 0 x 0 + T f ( x ) ⋅ sin ⁡ ( 2 π n x T ) d x , n ∈ N \begin{gathered} f(x)=\frac{a_0}2+\sum_{n=1}^{\infty}\left(a_n\cos(\frac{2\pi nx}T)+b_n\sin(\frac{2\pi nx}T)\right) \\ \text{傅里叶系数} \\ a_{n}=\frac{2}{T}\int_{x_{0}}^{x_{0}+T}f(x)\cdot\cos(\frac{2\pi nx}{T})dx,n\in\{0\}\bigcup\mathbb{N} \\ b_{n}={\frac{2}{T}}\int_{x_{0}}^{x_{0}+T}f(x)\cdot\sin({\frac{2\pi nx}{T}})dx,n\in\mathbb{N} \end{gathered} f(x)=2a0+n=1(ancos(T2πnx)+bnsin(T2πnx))傅里叶系数an=T2x0x0+Tf(x)cos(T2πnx)dx,n{0}Nbn=T2x0x0+Tf(x)sin(T2πnx)dx,nN

比如下图的一个函数能够被一系列周期为2 π \pi π的正弦函数展开:
在这里插入图片描述
加加减减后周期仍是2 π \pi π,调整正弦、余弦函数前面的系数(振幅)就可以慢慢逼近原函数了。

下面我们尝试把周期变成更一般的T,则正弦、余弦函数可写成:
s i n ( 2 π n T x ) c o s ( 2 π n T x ) \begin{array}{l}sin(\frac{2\pi n}Tx)\\\\cos(\frac{2\pi n}Tx)\end{array} sin(T2πnx)cos(T2πnx)

前面的系数( a n , b n a_n, b_n an,bn)我们可以通过几何的角度进行理解:

首先要有个先验知识就是正弦、余弦函数可以看成无限维的向量,并且两个向量的内积为0,即正弦余弦函数是正交的。
在这里插入图片描述
无限维向量内积:
在这里插入图片描述
因此傅里叶变换可看成是由一组正交基构成的:
在这里插入图片描述
每个正交向量就是:{1,0,0},{0,cos(2pi n/T x),0},{0,0,sin(2pin/Tx)}

在这里插入图片描述
那么如何求系数呢 就是这些坐标:
例如:其中c1,c2是坐标
在这里插入图片描述
在这里插入图片描述
扩展到傅里叶:
在这里插入图片描述
bn类似的。

2.傅里叶变换

在这里插入图片描述
随着函数周期变大,频域上的点会越来越密集,若一个非周期函数,则频域图中的点连续:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
而傅里叶变换就是求出当周期无穷大时,对应的这个连续的频域图曲线。

首先把傅里叶级数用欧拉公式换一下:
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
F(w)就是频域曲线。
另外还可以再改造一下,把前面系数移进去:

F ( w ) = ∫ − ∞ + ∞ f ( x ) ⋅ e − j 2 π w x d x F(w)=\int_{-\infty}^{+\infty}f(x)\cdot e^{-j2\pi wx}dx F(w)=+f(x)ej2πwxdx

同理可得二维傅里叶变换:
F ( u , v ) = ∫ − ∞ + ∞ ∫ − ∞ + ∞ f ( x , y ) ⋅ e − j 2 π ( u x + v y ) d x d y F(u, v)=\int_{-\infty}^{+\infty}\int_{-\infty}^{+\infty}f(x,y)\cdot e^{-j2\pi (ux+vy)}dxdy F(u,v)=++f(x,y)ej2π(ux+vy)dxdy
二维傅里叶反变换:
f ( x , y ) = ∫ − ∞ + ∞ ∫ − ∞ + ∞ F ( u , v ) ⋅ e j 2 π ( u x + v y ) d u d v f(x, y)=\int_{-\infty}^{+\infty}\int_{-\infty}^{+\infty}F(u,v)\cdot e^{j2\pi (ux+vy)}dudv f(x,y)=++F(u,v)ej2π(ux+vy)dudv

二维离散傅里叶变换:
F ( u , v ) = ∑ m = 0 M − 1 ∑ n = 0 N − 1 f ( x , y ) ⋅ e − j 2 π ( u x / M + u y / N )   F(u, v) = \sum_{m=0}^{M-1} \sum_{n=0}^{N-1} f(x, y) \cdot e^{-j 2\pi(ux/M + uy/N)} \ F(u,v)=m=0M1n=0N1f(x,y)ej2π(ux/M+uy/N) 

  f ( x , y ) = 1 M N ∑ u = 0 M − 1 ∑ v = 0 N − 1 F ( u , v ) ⋅ e j 2 π ( u x / M + u y / N )   \ f(x, y) = \frac{1}{MN} \sum_{u=0}^{M-1} \sum_{v=0}^{N-1} F(u, v) \cdot e^{j 2\pi(ux/M + uy/N)} \  f(x,y)=MN1u=0M1v=0N1F(u,v)ej2π(ux/M+uy/N) 

  1. 小波变换

暂时放个链接在这小波变换

  1. 离散余弦变换
    离散余弦变换其实就是傅里叶变换的实数部分
    F ( u , v ) = λ ( u ) λ ( v ) ∑ x = 0 N 1 − 1 ∑ y = 0 N 2 − 1 f ( x , y ) cos ⁡ ( π u 2 x + 1 2 N 1 ) cos ⁡ ( π v 2 y + 1 2 N 2 ) λ ( ω ) = { 1 N , i f   ω = 0 2 N , o t h e r w i s e \begin{aligned}F(u,v)&=\lambda(u)\lambda(v)\sum_{x=0}^{N_1-1}\sum_{y=0}^{N_2-1}f(x,y)\cos\left(\pi u\frac{2x+1}{2N_1}\right)\cos\left(\pi v\frac{2y+1}{2N_2}\right)\\\\\lambda(\omega)&=\begin{cases}\sqrt{\frac1N},&\mathrm{if~}\omega=0\\\sqrt{\frac2N},&\mathrm{otherwise}&\end{cases}\end{aligned} F(u,v)λ(ω)=λ(u)λ(v)x=0N11y=0N21f(x,y)cos(πu2N12x+1)cos(πv2N22y+1)= N1 ,N2 ,if ω=0otherwise

f ( x , y ) = ∑ u = 0 N 1 − 1 ∑ v = 0 N 2 − 1 λ ( u ) λ ( v ) F ( u , v ) cos ⁡ ( π u 2 x + 1 2 N 1 ) cos ⁡ ( π v 2 y + 1 2 N 2 ) \begin{aligned}f(x,y) & =\sum_{u=0}^{N_1-1}\sum_{v=0}^{N_2-1}\lambda(u)\lambda(v)F(u,v)\cos\left(\pi u\frac{2x+1}{2N1}\right)\cos\left(\pi v\frac{2y+1}{2N2}\right)\end{aligned} f(x,y)=u=0N11v=0N21λ(u)λ(v)F(u,v)cos(πu2N12x+1)cos(πv2N22y+1)


http://www.niftyadmin.cn/n/5305132.html

相关文章

硬盘检测软件 SMART Utility mac功能特色

SMART Utility for mac是一款苹果电脑上磁盘诊断工具,能够自动检测磁盘的状态和错误情况,分析并提供错误报告,以直观的界面让用户可明确地知道自己的磁盘状况。SMART Utility 支持普通硬盘HDD和固态硬盘SSD,能够显示出详细的磁盘信息&#xf…

Nginx(十六) 配置文件详解 - server stream服务流

本篇文章主要讲 ngx_stream_core_module 模块下各指令的使用方法,Nginx默认未配置该模块,需要用“--with-stream”配置参数重新编译Nginx。 worker_processes auto;error_log /var/log/nginx/error.log info;events {worker_connections 1024; }stream…

基于Java SSM框架实现新闻推送系统项目【项目源码】计算机毕业设计

基于java的SSM框架实现新闻推送系统演示 SSM框架 当今流行的“SSM组合框架”是Spring SpringMVC MyBatis的缩写,受到很多的追捧,“组合SSM框架”是强强联手、各司其职、协调互补的团队精神。web项目的框架,通常更简单的数据源。Spring属于…

SpringBoot从配置文件中获取属性的方法

方式一:Value 基本类型属性注入,直接在字段上添加Value("${xxx.xxx}")即可.注意这里用的是$,而不是#,Value注入的属性,一般其他属性没有关联关系。 配置文件 user:name: Manaphyage: 19sex: m…

使用 Parallels Desktop 彻底改变您的开发和测试工作流程

Parallels Desktop 等虚拟机平台已经改变了应用程序开发和测试。 在当今快节奏的技术环境中,开发人员和测试人员现在能够在虚拟沙箱中进行操作,能够使用容器、虚拟机或 Kubernetes 集群快速创建和拆除类似虚拟生产的环境。 无论您是为 Windows 或 Mac …

如何培养学生的创造性思维

在当下这个时代,创造力的重要性不言而喻。如何在日常教育中潜移默化地培养孩子的创造性思维呢? 一、激发好奇心,让思维自由飞翔 孩子天生就有一颗好奇的心,作为老师,要鼓励他们提问,鼓励他们去探索。好奇…