python fft2,python scipy fft.fft2用法及代码示例

计算二维离散傅立叶变换

此函数通过快速傅立叶变换(FFT)计算M-dimensional阵列中任何轴上的n-dimensional离散傅立叶变换。默认情况下,该变换是在输入数组的最后两个轴上进行计算的,即二维FFT。

参数:

x:array_like输入数组,可能很复杂

s:sequence of ints, 可选参数输出的形状(每个变换轴的长度)s[0]指轴0,s[1]到轴1等)。这对应于n对于fft(x, n)。沿每个轴,如果给定的形状小于输入的形状,则将裁剪输入。如果较大,则输入将填充零。如果未指定s,则使用沿轴指定的轴的输入形状。

axes:sequence of ints, 可选参数计算FFT的轴。如果未给出,则使用最后两个轴。

norm:{None, “ortho”}, 可选参数规范化模式(请参阅fft)。默认为无。

overwrite_x:bool, 可选参数如果为True,则x的内容可以被销毁;默认值为False。参考fft更多细节。

workers:int, 可选参数用于并行计算的最大工人数。如果为负,则值从os.cpu_count()。参考fft更多细节。

返回值:

out:复数ndarray截断的或zero-padded输入,沿轴指示的轴或未指定轴的最后两个轴转换。

异常:

ValueError如果s和轴的长度不同,或者未指定轴和len(s) != 2。

IndexError如果轴的元素大于x的轴数。

注意:

fft2只是fftn轴的默认值不同。

输出类似于fft,在转换轴的低阶角包含零频率项,在这些轴的前半部分包含正频率项,在轴中间包含奈奎斯特频率项,在第二个轴包含负频率项轴的一半,以负频率递减的顺序排列。

参考fftn有关详细信息和绘图示例,以及fft用于使用的定义和约定。

例子:

>>> import scipy.fft

>>> x = np.mgrid[:5, :5][0]

>>> scipy.fft.fft2(x)

array([[ 50. +0.j , 0. +0.j , 0. +0.j , # may vary

0. +0.j , 0. +0.j ],

[-12.5+17.20477401j, 0. +0.j , 0. +0.j ,

0. +0.j , 0. +0.j ],

[-12.5 +4.0614962j , 0. +0.j , 0. +0.j ,

0. +0.j , 0. +0.j ],

[-12.5 -4.0614962j , 0. +0.j , 0. +0.j ,

0. +0.j , 0. +0.j ],

[-12.5-17.20477401j, 0. +0.j , 0. +0.j ,

0. +0.j , 0. +0.j ]])

你可能感兴趣的:(python,fft2)