scipy.fftpack.
idct#
- scipy.fftpack.idct(x, type=2, n=None, axis=-1, norm=None, overwrite_x=False)[原始碼]#
傳回任意型別序列的反離散餘弦轉換。
- 參數:
- xarray_like
輸入陣列。
- type{1, 2, 3, 4}, 選擇性
DCT 的型別 (請參閱「註解」)。預設型別為 2。
- n整數, 選擇性
轉換的長度。如果
n < x.shape[axis]
,則會截斷 x。如果n > x.shape[axis]
,則會對 x 進行零填充。預設結果為n = x.shape[axis]
。- axis整數, 選擇性
計算 idct 的軸;預設值為最後一個軸 (即
axis=-1
)。- norm{None, ‘ortho’}, 選擇性
正規化模式 (請參閱「註解」)。預設值為 None。
- overwrite_x布林值, 選擇性
如果為 True,則可以破壞 x 的內容;預設值為 False。
- 傳回:
- idct實數的 ndarray
轉換後的輸入陣列。
另請參閱
dct
正向 DCT
註解
對於單維陣列 x,
idct(x, norm='ortho')
等於 MATLABidct(x)
。「The」 IDCT 是型別 2 的 IDCT,它與型別 3 的 DCT 相同。
型別 1 的 IDCT 是型別 1 的 DCT,型別 2 的 IDCT 是型別 3 的 DCT,而型別 3 的 IDCT 是型別 2 的 DCT。型別 4 的 IDCT 是型別 4 的 DCT。如需這些型別的定義,請參閱
dct
。範例
Type 1 DCT 等同於實數、偶數對稱輸入的 DFT。輸出也是實數且偶數對稱。一半的 IFFT 輸入用於產生一半的 IFFT 輸出
>>> from scipy.fftpack import ifft, idct >>> import numpy as np >>> ifft(np.array([ 30., -8., 6., -2., 6., -8.])).real array([ 4., 3., 5., 10., 5., 3.]) >>> idct(np.array([ 30., -8., 6., -2.]), 1) / 6 array([ 4., 3., 5., 10.])