web-dev-qa-db-ja.com

JPEGサムネイルをすばやく取得する方法

私のカメラは非常に基本的(控えめな表現)ですが、注目すべき機能が1つあります。サムネイルモードが非常に高速です。それは1/4秒未満で9つのサムネイルの画面一杯をロードします。

これで、画像を選択すると、最初に画像の非常にブロック状でぼやけた表現が即座に読み込まれ、次に「フル」解像度で画像を再読み込みしている間、迷惑な(:P)数秒間ロックされます。

明らかに、その低品質の「インスタント」ロードは、サムネイルモードに使用されているものです。 SDカードに隠れている半隠しの「サムネイル」ディレクトリはありません。代わりに、JPGがGIFのように「プログレッシブ」に読み込まれるという事実を利用していると思います。私のカメラは、各画像の最初のプログレッシブ「スキャン」を実行し、すぐに停止してそのデータだけをレンダリングしていると思います。各サムネイルのサイズはおよそ90x90と見積もっており、そのサイズに縮小された7MP画像の最初の「スキャン」は問題なく見えます。 (画像を選択すると、数秒間そのように表示され、ブロック状に見えます。)

さて、サムネイルモードで「feh」などを使用すると、MicroSDカードリーダーからJPGを引き出すのは、カメラ内のフルスクリーン画像を表示するのと同じくらい気が遠くなるほど遅くなります。これは、fehが画像全体を読み込んでからサムネイルを表示するためです(考えてみてください...)。

私のカメラのやり方に従って、画像全体を取得して処理せずに「インスタント」サムネイルを表示するLinux用のアプリケーションは何ですか?

4
i336_

私の推測では、カメラはJPEGファイルに埋め込まれている可能性のあるサムネイルを使用していると思います。画像をスキャンして解釈するのではなく、サムネイルを含む非常に小さなブロブを見るだけです。合理的な視聴者なら誰でもそれを使用できるはずです。

OPのコメントから:exiv2 -et < image > thumbnailはそれを回避する1つの方法です。

4
peterph
4
slm