Camera Image Meta-Information Reader
I've been doing a lot of reading about the Nikon D1 digital camera, and have found some sources of many sample images (e.g. www.imaging-resource.com). Several reviews of the camera bemoaned the lack of a non-commercial program to extract meta-information from the camera's files, so I decided to try and reverse engineer something. It turns out much of the information is stored in the relatively standard Exif format, and I was further able to decode a good chunk of the Nikon specific fields too.
MetaCam is written in C++, and built in a fairly general manner which is not Nikon-Specific. I've added some Olympus fields too since I happened to have some documentation about them. It should be pretty easy to add support for other cameras which use the Exif format, and for some of the as-yet-unknown fields within them.
A variety of accumulated fixes from several contributors. No longer uses deprecated strstream class.
Added even more Nikon tags (thanks to Jeremie Rostand for an initial list), as well as cleaning up some error handling. Also added fixes from Vladimir Kondratiev for cleaner compilation in gcc 3.
Largely re-engineered TIFF reading engine, and cleaned up output formatting logic somewhat. Added basic XML output as well as normal output format. Added support for new Nikon D100 Maker Data layout. Added a fair number of Exif 2.2 tags which were previously missing.
Added support (by Pat Tullman, thanks also to Jan Niehusmann) for Casio cameras. Some cleanup (thanks to Holm Sieber, and again to Geoff Kuenning). Also overhauled Exif finding in JPG files (Thanks to Geoff Kuenning and Jeremie Rostand for suggesting this and providing their solutions).
Added extra light-source type (Overcast) for Olympus D-510Z (thanks to Geoff Kuenning for the patch). Removed a number of compile warnings under more recent g++ versions too.
Added support (by Jan Brittenson) for some Canon cameras. (It's been tested against the Canon S100 and G1)
Added remainder of documented Olympus fields.
Removed uses of 'round()'.
First public release.
Fill in the missing fields!
Probably make it compile with autoconf
Fix endianness for non-intel platforms
MetaCam is released under the GNU Public Licence.