私はlabviewで2D DCT-IIを作成していますが、出力が正しいことを確認できるようにしたいと考えています。 SciPyは、DCT-IIにデフォルトで設定されていて、1Dです。SciPy DCT関数を使用して2D DCT-IIを作成する
私はそれを2次元配列に対して機能させたいと考えています。これを行うには、列にDCTを適用し、DCTをこの結果の行に再度適用する必要があります。
私はこれを行うためにどのような機能を使用したいのか分かりません。
array([[ 1152. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. ],
[ -412.30867345, 0. , 0. , 0. ,
0. , 0. , 0. , 0. ],
[ 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. ],
[ -43.10110726, 0. , 0. , 0. ,
0. , 0. , 0. , 0. ],
[ 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. ],
[ -12.85778584, 0. , 0. , 0. ,
0. , 0. , 0. , 0. ],
[ 0. , 0. , 0. , 0. ,
0. , 0. , 0. , 0. ],
[ -3.24494866, 0. , 0. , 0. ,
0. , 0. , 0. , 0. ]])
は私が何を行う権利機能がrot90ではないと思われる。しかし、これは以下の出力
import numpy as np
from scipy.fftpack import dct
a = np.array([[1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0],
[1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0],
[1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0],
[1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0],
[1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0],
[1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0],
[1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0],
[1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0]])
b = dct(np.rot90(dct(a),3))
を:私は次のように90度反時計回りにnumpyの配列を回転させるnp.rot90を試してみました私はやりたい、おそらくもっと良いものがあるだろうか?