私は約20000 x 20000ピクセルの1gbの大きなtiff画像を扱っています。私は、ランダムな位置で、画像からいくつかのタイル(約300x300ピクセル)を抽出する必要があります。効率的なTIFFタイル抽出C++
私は、次の解決策を試してみました:
のlibtiff(私は見つけることができる唯一の低レベルライブラリ)がTIFFReadlineを()提供していますが、それは周りの19700 unnecesaryピクセル単位で読んで意味。
私は、不必要なピクセルを読み込まずに画像からタイルを抽出する独自のTiffリーダーを実装しました。私はそれがより速くなることを期待しましたが、タイルのすべてのラインについてseekgを実行すると非常に遅くなります。私はまた、私のタイルを含むファイルのすべての行をバッファに読み込み、バッファからタイルを抽出しようとしましたが、結果は多かれ少なかれ同じです。
私のタイル抽出ツールを改善する提案を受け取りたいと思います!
すべてがなど、C/C++ I/O、私のニーズのためのいくつかのより高いレベルの戦略についていくつかのヒント、多分あなたは、私が使用することができ、より効率的なライブラリを提案することができ、
よろしく、 フアン
歓迎です
圧縮されていないと仮定できますか? –
データはスキャンラインで整理されていますか? –
はい、データは圧縮されていないと、ほとんどのトラディショナルな方法で構成されています ライン1 LINE2 LINE3 ... – Juan