2

JPEG ファイルの 64 個の DCT 係数の周波数分布を取得するには、Java ライブラリ、コード スニペット、... が必要です。

何か案は?どうも!

4

2 に答える 2

0

特定のファイルの配布に興味がある場合は、それを bmp に変換して、私の質問で提供されているコードを使用してみてください。

解凍が途中で停止し、ゼロで埋められた出力ファイル (BLACK PIXELS)?

Java で動作させるには、これを弱める必要があるかもしれません。アイデアは、各 8*8 ブロックの配列に 64 個の係数すべてを格納することです。次に、0,0(DC)、0,1、8,8(最高周波数)などの各係数番号の各値の周波数をカウントし、y 軸に周波数、x 軸に値をプロットします。係数ごとに 1 つずつ、合計 64 のプロットが得られます。

于 2011-12-02T04:35:53.033 に答える
0

JPEG ファイルから DCT 係数を直接取得する簡単な答えはないようです。画像を圧縮解除して DCT 変換を再適用することは合理的な近似ですが、丸め誤差が発生する傾向があります。

ファイルから直接 JPEG 係数を取得するために私が見つけた唯一の解決策は、JNA を使用してネイティブ JPEG ライブラリに接続することでした。ライブラリまたはコード スニペットを要求しました。あなたのニーズを満たす Java ライブラリを作成しました。私のコードは非常に粗雑ですが、簡単に拡張できます。ここ: https://github.com/markzampoglou/dct-extraction

于 2016-02-12T13:23:08.750 に答える