Using QR codes to semi-automatically correct EXIF time stamps of photos.
A GUI tool to read QR codes with UTC timestamps from photos and adjust other photos EXIF time settings.
Every camera has an internal clock to set the EXIF timestamp when the photo was taken. Often users don't take care of accurately setting these internal clocks, which leads to problems with use cases relying on the EXIF timestamp.
Two scenarios come to mind at once:
-
Merging photo collections of multiple users. When the camera's clocks are set at different times it can be quite a hassle to properly sort all photos by their true chronological sequence.
-
Geotagging pictures. Geotagging with external tracking devices relies on the EXIF timestamp of the photos. If this timestamp is off by only a few seconds this can result in huge position errors.
Although the camera's clocks often aren't set properly they're running stable and all photos imported from one camera have the same offset. To figure out what this offset is it's enough to find one photo you know which time it was really taken at. The manual way would be to find a photo of an accurate clock like from a church tower, calculate the difference of that time to this photo's EXIF time stamp and correct all photos by that camera by this difference.
Now we take a photo of a computer screen — thanks to NTP — accurately showing the current time in a machine readable way as a QR code. When importing the photos they are searched for a QR code and if one is found all photos are corrected by the calculated offset as described above.
The aim of this project is to create a stand alone application as a proof of concept.
Two features are needed:
-
Showing a QR code with the current time
-
Reading QR codes in a folder of photos and correct the EXIF timestamps.
This is done writing C++ code and using Qt because the author is familiar with these.
qt4-dev-tools >=4.8.1 qt4-qmake >=4.8.1 libexiv2-dev >= 0.23 libdecodeqr-dev >= 0.9.3
I recommend to install Qt-Creator with all its dependencies to comfortably work with the source code.
Navigate to the directory where you placed the files and do
to compile the project and
to start the clock.