Git Product home page Git Product logo

qrcode_clock's Introduction

Photo Time Correction

Using QR codes to semi-automatically correct EXIF time stamps of photos.

The QR code clock

A clock showing the seconds since 01.01.1970 00:00 UTC as a QR code.

Problem

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:

  1. 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.

  2. 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.

Idea

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.

Project plan

The aim of this project is to create a stand alone application as a proof of concept.

Two features are needed:

  1. Showing a QR code with the current time

  2. 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.

Requirements

qt4-dev-tools >=4.8.1 qt4-qmake >=4.8.1 libexiv2-dev >= 0.23 libqrencode-dev >= 3.3.0 libdecodeqr-dev >= 0.9.3

Recommended

I recommend to install Qt-Creator with all its dependencies to comfortably work with the source code.

Installation

Navigate to the directory where you placed the files and do

./qmake

./make

to compile the project and

./qrcode_clock

to start the clock.

qrcode_clock's People

Contributors

vollkorn1982 avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.