JPEG Thumbnails – How to Get JPEG Thumbnails Quickly

imagesjpegthumbnails

My camera is very basic (understatement), but it does have one notable feature: its thumbnail mode is impressively fast; it loads a screenful of 9 thumbnails in less than a quarter of a second.

Now, when I select an image, it first instantly loads an extremely blocky, blurry rendition of my picture, then locks up annoyingly (:P) for umpteen seconds while reloading the image at "full" resolution.

Clearly, that low-quality "instant" load is what it's using for thumbnail mode. There's no semi-hidden "thumbnails" directory hiding on my SD card; instead, what I think it's doing is exploiting the fact that JPGs can load "progressively" like GIFs can, and I think my camera is running through the first progressive "scan" of each picture, and then immediately stopping and rendering just that data. I roughly estimate the size of each thumbnail at around 90×90, and the first "scan" of a 7MP image scaled down to that size looks just fine. (It's when I select the image and it displays like that for a few seconds that it looks blocky.)

Now, using eg "feh" in thumbnail mode, pulling JPGs off my MicroSD card reader is just about as mind-numbingly slow as viewing fullscreen images inside the camera, because feh loads the full image then thumbnails it (which is quite inefficient if you think about it…).

What applications exist for Linux which will show "instant" thumbnails, without retrieving and processing the full image, as per how my camera does it?

Best Answer

My guess would rather be that your camera uses a thumbnail which may be embedded in the JPEG file - no scanning through the image and interpreting it, just looking at a very little blob containing the thumbnail. Any reasonable viewer should be able to use that too.

From OP's comment: exiv2 -et < image > thumbnail is one way to go about it.

Related Question