傅里叶变换公式整理

傅里叶变换公式整理1、一维傅里叶变换1.1一维连续傅里叶变换正变换:F(ω)=∫−∞∞f(t)⋅e−iωtdtF(\omega)=\int_{-\infty}^{\infty}f(t)\cdote^{-i\omegat}dtF(ω)=∫−∞∞​f(t)⋅e−iωtdt逆变换:f(t)=∫−∞∞F(ω)⋅eiωtdωf(t)=\int_{-\infty}^{\infty}F(\o…

大家好,又见面了,我是你们的朋友全栈君。

1、一维傅里叶变换

1.1 一维连续傅里叶变换

  • 正变换:

F ( ω ) = ∫ − ∞ ∞ f ( t ) ⋅ e − i ω t d t F(\omega) = \int_{-\infty}^{\infty}f(t)\cdot e^{-i\omega t}dt F(ω)=f(t)eiωtdt

  • 逆变换:

f ( t ) = ∫ − ∞ ∞ F ( ω ) ⋅ e i ω t d ω f(t) = \int_{-\infty}^{\infty}F(\omega)\cdot e^{i\omega t}d\omega f(t)=F(ω)eiωtdω

1.2 一维离散傅里叶变换

  • 正变换:

F ( u ) = ∑ x = 0 N − 1 f ( x ) ⋅ e − i 2 π N x u u = 0 , 1 , 2 , . . . , N − 1 F(u) = \sum_{x=0}^{N-1}f(x)\cdot e^{-i\frac{2\pi}{N}xu} \\ u = 0,1,2, … , N-1 F(u)=x=0N1f(x)eiN2πxuu=0,1,2,...,N1

  • 逆变换:

f ( x ) = 1 N ∑ u = 0 N − 1 F ( u ) ⋅ e i 2 π N x u x = 0 , 1 , 2 , . . . , N − 1 f(x) = \frac{1}{N}\sum_{u=0}^{N-1}F(u)\cdot e^{i\frac{2\pi}{N}xu}\\x = 0,1,2, … , N-1 f(x)=N1u=0N1F(u)eiN2πxux=0,1,2,...,N1

2、二维傅里叶变换

2.1 二维连续傅里叶变换

  • 正变换
    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)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)e^{j2\pi(ux+vy)}dudv f(x,y)=F(u,v)ej2π(ux+vy)dudv

2.2 二维离散傅里叶变换

令f(x,y)表示一幅大小为MXN像素的数字图像,其中,x=0,1,2,…,M-1, y=0,1,2,…,N-1,由F(u,v)表示的f(x,y)的二维离散傅里叶变换(DFT)由下式给出:

F ( u , v ) = ∑ x = 0 M − 1 ∑ y = 0 N − 1 f ( x , y ) e − j 2 π ( u x M + v y N ) u , v = 0 , 1 , 2 , . . . , N − 1 F(u,v) = \sum_{x=0}^{M-1}\sum_{y=0}^{N-1}f(x,y)e^{-j2\pi(\frac{ux}{M}+\frac{vy}{N})}\\u,v = 0, 1, 2, … , N-1 F(u,v)=x=0M1y=0N1f(x,y)ej2π(Mux+Nvy)u,v=0,1,2,...,N1

式子当中,u也是属于0到M-1,v属于0到N-1。频率域就是属于u,v作为频率变量,由F(u,v)构成的坐标系,这块MXN的区域我们通常称为频率矩形,很明显频率矩形的大小和输入图像的大小相同。

有傅里叶变换,当然就有傅里叶反变换(IDFT):
f ( x , y ) = 1 M N ∑ u = 0 M − 1 ∑ v = 0 N − 1 F ( u , v ) e j 2 π ( u x M + v y N ) x , y = 0 , 1 , 2 , . . . , N − 1 f(x,y) = \frac{1}{MN}\sum_{u=0}^{M-1}\sum_{v=0}^{N-1}F(u,v)e^{j2\pi(\frac{ux}{M}+\frac{vy}{N})}\\ x,y = 0, 1, 2, … , N-1 f(x,y)=MN1u=0M1v=0N1F(u,v)ej2π(Mux+Nvy)x,y=0,1,2,...,N1

clc,clear;
a = [1 2 3 5 5 ; 4 7 9 5 4;1 4 6 7 5;5 4 3 7 1;8 7 5 1 3];%a矩阵取5*5
b = [1 5 4; 3 6 8; 1 5 7]; %b矩阵如多数模板一样取3*3
c = conv2(a,b)
d = conv2(a,b,'same')

a(7,7) = 0;
b(7,7) = 0;
e = ifft2(fft2(a).*fft2(b)) % .* 对应元素相乘

%
c =
     1     7    17    28    42    45    20
     7    39    89   127   134   110    56
    14    61   151   212   229   177    87
    12    74   165   226   245   174    72
    24    98   178   190   179   155    55
    29    98   179   139   112    80    31
     8    47    96    75    43    22    21
%

%
d =

    39    89   127   134   110
    61   151   212   229   177
    74   165   226   245   174
    98   178   190   179   155
    98   179   139   112    80
%

%
e =

    1.0000    7.0000   17.0000   28.0000   42.0000   45.0000   20.0000
    7.0000   39.0000   89.0000  127.0000  134.0000  110.0000   56.0000
   14.0000   61.0000  151.0000  212.0000  229.0000  177.0000   87.0000
   12.0000   74.0000  165.0000  226.0000  245.0000  174.0000   72.0000
   24.0000   98.0000  178.0000  190.0000  179.0000  155.0000   55.0000
   29.0000   98.0000  179.0000  139.0000  112.0000   80.0000   31.0000
    8.0000   47.0000   96.0000   75.0000   43.0000   22.0000   21.0000
%
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/160825.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • eth挖矿软件_PI挖矿

    eth挖矿软件_PI挖矿Gpu矿机使用(文章测试使用的是AMD580显卡,Ethminer0.17.0)先执行ethminer-G–list-devices查看Gpu数量,我的机器是8Gpu,执行命令后1首先启动geth节点   geth–port33333–rpc–rpcapieth–rpcaddr192.168.10.176–rpcport8888conso…

    2022年10月9日
    0
  • 微信小程序–获取已发布微信小游戏和小程序源码「建议收藏」

    最近一直在做微信小游戏的开发,发现了一个好玩的事,在这里记录一下。这段时间一直在做一些小游戏,小程序的开发,但有的时候会发现性能上总是不那么的尽如人意(毕竟我这小菜鸟水平有限),于是就想到,想要看看别的大神们是怎么处理这些问题的(其实就是想看一下大神们的代码怎么写!)。但是,有一个问题就是小游戏或者小程序和H5、网页不一样,不能直接F12看代码,要怎么才能拿他们的代码呢?  …

    2022年4月14日
    130
  • java xml格式化_使用java将xml格式化

    java xml格式化_使用java将xml格式化将生成的xml用ie浏览器打开,就可以见到漂亮的缩进的xmlschema.但是每次都这样也不方便。在java程序中,直接使用jdk的javax.xml.transform.Transformer即可完成。而且如果有节点未被匹配,也能通过错误提示及时发现。先贴代码如下:importjava.io.File;importjava.io.StringReader;importjavax.xml….

    2022年7月16日
    18
  • quotename 和 stuff[通俗易懂]

    quotename 和 stuff[通俗易懂]1、QUOTENAME返回带有分隔符的Unicode字符串,分隔符的加入可使输入的字符串成为有效的Microsoft®SQLServer™分隔标识符。语法QUOTENAME(character_string[,quote_character])参数{character}[…n]Unicode字符数据字符串。character_s

    2022年7月25日
    6
  • string对象下标越界

    string对象下标越界#include<iostream>#include<string>usingnamespacestd;intmain(){stringa;cin>>a[0];cin>>a[1];return0;}最近写代码时发生了这一问题,就是上边的程序,运行后会出现数组越界。其实这是一个非常小的问题,原因是我自己把string当成了一个无穷大的数组,string可以无穷大,但是这并不能将他当成无穷大数组.

    2022年9月26日
    0
  • 彻底弄懂LSH之simHash算法[通俗易懂]

    彻底弄懂LSH之simHash算法[通俗易懂]马克·吐温曾经说过,所谓经典小说,就是指很多人希望读过,但很少人真正花时间去读的小说。这种说法同样适用于“经典”的计算机书籍。最近一直在看LSH,不过由于matlab基础比较差,一直没搞懂

    2022年8月5日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号