2017-11-08 16 views
1

私は大量の画像を生成するアプリケーションを書いています。各フレームは1280×800ピクセルの大きさで、色情報(グレースケール)の場合は1ピクセルあたり1バイトです。各フレームはディスクに書き込まなければなりません。できるだけ早く画像データをディスクに書き込む

現在、私は単純に生のピクセルデータをディスク上のバイナリファイルにダンプします。ファイルは、私が作成した特別なビューアで見ることができます。

画像を直接表示/処理することができないため、これは非常に不満足な解決策です。彼らは常に私のカスタムビューア/コンバータを実行する必要があります。

  • ずっと最終的なファイルのサイズを大きくしない

    1. が書き込まれるように高速です(圧縮なしなど):

      私は、ディスクへの私のイメージを書き込むために使用できる画像形式はありますそこに私の生のピクセルバッファをダンプ

    2. 支持体は、(何もalignemntの変更は、など)
    3. は、一般的なアプリケーション(Windowsエクスプローラ、ペイント、フォトショップなど)
    で読み取ることができません

    私はすでに.pngを使用しようとしましたが、圧縮のためにファイルの生成に時間がかかりすぎます。

    +0

    私はライブラリを求めていません。 – Boris

    +0

    フォーマットを使用することは、ライブラリを使用することや独自のものを書くことを意味します。どちらも一般的には広すぎると見なされます。また、引用されているガイドラインがより一般的に外挿されることを意図していると思われるかもしれません(しかし、私は間違っているかもしれません)。 –

    +0

    https://stackoverflow.com/a/41699561/2836621 –

    答えて

    3

    binary Portable GrayMap (P5)フォーマットをご覧ください。これは非常にシンプルなヘッダーの後に未処理の画像データ(アラインメント要件なし)で構成され、画像ビューアーで広くサポートされています。

    +0

    素晴らしい、まさに私が必要なもの。私はこのフォーマットについて聞いたことがないほど奇妙です... – Boris

    0

    bmpとtiffの両方を使用して生データを保存できます。 BMPは、高さが負でない限り、画像を上下逆にするという奇妙さがあります。そしてtiffにはたくさんのエンコーディングオプションがあります。イメージデータがコピー貼り付けされたテンプレートとして使用されるフォーマットをリバースエンジニアリングすることは、とにかく実現可能でなければなりません。したがって、ライブラリを使用する必要はありません。ヘッダー、画像データ、およびオプションのフッターが連結されています。

    関連する問題