関数 > 画像処理 > 変換領域 > 例: 離散余弦変換
例: 離散余弦変換
dct関数とidct関数を使用して、それぞれ離散余弦変換とその逆変換を計算します。この変換アルゴリズムでは画像のほとんどのエネルギーつまり情報が限られた周波数成分に集中するので、これは符号化に適しています。
この例の使用方法については、画像処理の例についてを参照してください。
1. N x P の行列 M を定義します。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
2. 余弦変換の実装としてタイプ II DCT が使用されています。DCT をこの変換の解析式として定義します。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
3. 行列 DCT を計算します。
クリックしてこの式をコピー
4. 関数 dct を行列 M に適用します。
クリックしてこの式をコピー
5. DCTdct 関数との間の最大誤差を計算します。
クリックしてこの式をコピー
エネルギー圧縮
余弦変換は非常に優れたエネルギー圧縮特性を備え、ほとんどのエネルギーが最初のいくつかの変換係数に集中します。
1. 入力行列を定義します。
クリックしてこの式をコピー
2. dct 関数を行列 M に適用して計算します。
クリックしてこの式をコピー
クリックしてこの式をコピー
計算された行列から、係数の値によって示されているエネルギーのほとんどが最初のいくつかの要素に集中していることがわかります。
idct
逆関数を使用して、変換された画像から元の画像を回復します。
1. モナリザの白黒画像を読み込みます。
クリックしてこの式をコピー
(mona.bmp)
2. dct 関数を適用して画像を変換します。
クリックしてこの式をコピー
クリックしてこの式をコピー
(mona_noise.bmp)
3. 逆関数を適用して画像を回復します。
クリックしてこの式をコピー
クリックしてこの式をコピー
(mona_rec.bmp)
4. 変換後の画像と元の画像のヒストグラムで、離散余弦変換のエネルギー圧縮特性を確認します。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
変換後の画像ではほとんどのエネルギーがヒストグラムの最初のいくつかの区間に集中していますが、元の画像では広い範囲に分散しています。大部分の画像情報をごくわずかな周波数成分を使用してリレー可能であることから、変換後の画像は符号化や伝送により適しています。このような理由によって、離散余弦変換は画像圧縮に利用されています。
これは役に立ちましたか?