EXIF Parsing Fun

I’m thinking about replacing my Olympus OM-D E-M5 as a travel camera. The Olympus is great and has served me quite well on my trips, but I’d love to get something with faster autofocus and with better low light performance. Current frontrunners in no particular order include the Leica Q, Sony RX1R II, Fuji X100T, and Sony A7S II. Since these are mostly fixed lens cameras, the most obvious differences in deciding between these cameras for me is the focal length, with the exception of the A7 of course. All of this got me thinking – at what focal length do I most like taking most of my photos? The Leica Q is 28mm, and the RX1 and X100 are 35mm, so I should probably figure that out.

I decided to quickly tackle something that I’ve wanted to do for a while but never got the chance: write a quick Image Reader App that can extract EXIF data from photographs and do a simple unique count of the focal lengths.

I did some searching to see if there were any existing libraries that did some EXIF parsing and decided on this one, by a smart guy named Drew Noakes. Even better, it included support for both of my cameras which are a Canon 5D Mark III with 24-70 f/2.8 II and of course my Olympus with the Lumix 20mm f/1.7. It looks like it only supported Java so I threw together a really terrible app that took a directory path and iterated through each photo and did a count. As my sampling, I decided to point it at a directory of some of my favorite photos from a trip to Tokyo and Seoul from a few years ago. The results were quite shocking:

{44.0 mm=2, 65.0 mm=1, 41.0 mm=2, 26.0 mm=1, 47.0 mm=4, 40.0 mm=2, 24.0 mm=83, 45.0 mm=2, 61.0 mm=4, 35.0 mm=3, 50.0 mm=4, 38.0 mm=1, 42.0 mm=2, 67.0 mm=1, 59.0 mm=1, 70.0 mm=8, 39.0 mm=2, 31.0 mm=3, 25.0 mm=2, 28.0 mm=1, 33.0 mm=1, 20.0 mm=36, 57.0 mm=5}

Quickly plotted this on a graph:

What this chart tells me is that I love shooting wide angle. According to the stats I’ll zoom in a few times but only rarely. So which camera should I get?

Leica Q it is.

For those of you who want to see my code (the single java class in all its glory), I’ve pushed it to a new repository called “Extractor” on my GitHub page.