1

ディスク上に JPEG ファイルがありますが、これはまったく正常ではありません。この JPEG ファイルには、End Of Image (FFD9) の後ろにゴミデータが追加されています。ただし、この JPEG ファイルは引き続き JPEG ビューアで開くことができます。

End Of Image (FFD9) の背後にあるこれらの追加情報を削除したいと考えています。制約は次のとおりです。

  1. プログラムで行う必要があります
  2. 無損失でなければならない
  3. C++ などのネイティブ コードを使用する必要がある

私が見つけた 1 つの方法は、ロスレス JPG_TRANSFORM のコマンド /jpg_rotate を使用して、IrfanView コマンドライン ツールを使用してファイルを再保存することです。後ろの追加データは自動的に取り除かれます。

ただし、C++ コードで実行できる別の方法はありますか? 可能であれば、IrfanView などの exe を使用して実行したくありません。無駄を省くために、すべてをコードで実行したいと考えています。

ファイルの終わり(FFD9)を検出し、EOFの前のバッファを別のJPEGに保存することを考えています。しかし、バッファを無損失で保存するにはどうすればよいですか?

4

1 に答える 1

3

これはファイル処理に関する質問であり、画像処理関連ではないと思います。

イメージ ファイルの EOF までのすべてのデータを結果のイメージ ファイルに書き込むだけです。

于 2011-06-02T04:40:31.493 に答える