scipy.fftpack.

dctn#

scipy.fftpack.dctn(x, type=2, shape=None, axes=None, norm=None, overwrite_x=False)[源代码][源代码]#

沿指定轴返回多维离散余弦变换。

参数:
xarray_like

输入数组。

类型{1, 2, 3, 4}, 可选

DCT 的类型(参见注释)。默认类型为 2。

形状int 或 int 类型的数组,或 None,可选

结果的形状。如果 shapeaxes`(见下文)都为 None,`shapex.shape;如果 shape 为 None 但 axes 不为 None,那么 shapenumpy.take(x.shape, axes, axis=0)。如果 shape[i] > x.shape[i],则第 i 维度用零填充。如果 shape[i] < x.shape[i],则第 i 维度被截断至长度 shape[i]。如果 shape 中的任何元素为 -1,则使用 x 相应维度的尺寸。

int 或 int 类型的数组,或 None,可选

计算DCT的轴。默认是所有轴。

规范{None, ‘ortho’}, 可选

归一化模式(参见注释)。默认值为 None。

overwrite_xbool, 可选

如果为 True,x 的内容可以被销毁;默认是 False。

返回:
y实数 ndarray

转换后的输入数组。

参见

idctn

逆多维DCT

注释

有关DCT类型和归一化模式的详细信息,以及参考资料,请参阅 dct

示例

>>> import numpy as np
>>> from scipy.fftpack import dctn, idctn
>>> rng = np.random.default_rng()
>>> y = rng.standard_normal((16, 16))
>>> np.allclose(y, idctn(dctn(y, norm='ortho'), norm='ortho'))
True