ドキュメンテーション センター

  • 評価版
  • 製品アップデート

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

dctmtx

離散コサイン変換行列

構文

D = dctmtx(n)

説明

D = dctmtx(n)nn 列の DCT (離散コサイン変換) 行列を返します。D*AA の列の DCT、D'*AA の列の逆 DCT です (Ann 列の場合)。

クラス サポート

ndouble クラスの整数スカラーです。Ddouble クラスの行列として返されます。

A = im2double(imread('rice.png'));
D = dctmtx(size(A,1));
dct = D*A*D';
figure, imshow(dct)

詳細

すべて展開する

ヒント

A が正方形の場合、A の 2 次元 DCT は D*A*D' として計算できます。この計算は、dct2 を使うより高速になる場合があります。特に、小さい DCT を何度も計算する場合は、D を 1 回だけ決定すれば済むので高速になります。

たとえば、JPEG 圧縮では、8 行 8 列の各ブロックの DCT が計算されます。この計算を実行するには、dctmtx を使用して D を決定してから、D*A*D' を使用して各 DCT を計算します (ここで、A は 8 行 8 列の各ブロックです)。これは、ブロックごとに dct2 を呼び出すよりも高速です。

参考

この情報は役に立ちましたか?