FreeFoote's Arbitrary Internet Home

FreeFoote

Home About FreeFoote Contact FreeFoote

Linux Projects

GPS Photo Correlator EXIF Utility Scripts Sound Scope LCDMenu MPG123 HTTP patch Remote Download Manager

Hardware Projects

Cut down keyboard mod Sprinkler Controller

Abandoned Projects

The CFW

About the CFW Background Images Next Version: CFW3 Current Version Download Email Lists Screenshots Source Code

The F3C

About the F3C Contribute Documentation Download

EXIF Utility Scripts

Most modern cameras record EXIF tags with each photo taken. Extrodinarly useful, these things are. Hacking with them is always fun.

To tidy up a few things, I wrote a few simple shell scripts to do things with EXIF tags, that filled a few needs of mine. The following scripts require the command line program "exif". Most distributions should have it.

EXIF Chronological Reorganiser

Now lets say that you have two or more cameras taking photos of a single event -- this is something that happened last time we held a large LAN party, and is going to happen again next time. Now, each camera takes photos with their own naming scheme and numbering, meaning that it would be quite difficult to sort the photos from multiple cameras into chronological order.

But, EXIF tags to the rescue! We can use the date and time encoded into the tag to resort them into chronological order. Assuming that the cameras have the right time, down to the appropriate accuracy (ie, the time difference is less than the time difference between any two photos on different cameras -- the only difference that this would make would just be to rearrange the photos in the wrong order).

This script solves this problem for you. It takes a prefix as a parameter and renames all the files in the current directory, by date order, and places them into a subdirectory called "Done".

EXIF Date Profile

This script is less useful, but can provide some interesting results, nonetheless. It goes through a series of photos, and extracts the date taken, and then tallies the number of photos taken versus the date. So you can see how many photos you took on a particular series of days.

The output looks like this:

    60 2004:10:26
     4 2004:10:27
    23 2004:10:28
     4 2004:10:29

With some more coding, I'm sure you could make gnuplot draw you a pretty graph of it...

Here is the script.

EXIF Date and Camera Profile

This script is more useful than the above, but only in certain circumstances. It works like the above, showing photos versus date, but it also shows the number of photos per camera per date. Assuming that you are shooting with more than one camera - the kind of thing that the chronological renamer script above was designed to handle.

Example output: (I know, this is a poor example)

      1 2004:12:24 FinePix E500
      3 2004:12:25 FinePix E500
     20 2004:12:25 PENTAX Optio 30

Here is the script.

  FreeFoote, aka Daniel Foote - freefoote [at] dview [dot] net