Skip to main content

"Onion-skin" visual differences between a reference document image and a scanned copy

Project description


"Onion-skin" visual differences between a reference document image and a scanned copy.

Given an image of a reference document, docoskin will attempt to find key points of the document in a scanned copy, align the two, auto-correct the image contrasts and display a combined image, featuring sections in red which were "removed from" the reference document and sections in green which were added to the document.

The intended use for this is comparing a signed, returned scan of a contract with the original version as provided to the signer to check for unagreed amendments.

Implemented as a python library with a command-line interface. Significantly more power and flexibility is achievable through accessing the python components.

Depends on opencv and six (and, on python2.7, the futures backport).

opencv is always going to be a slightly painful dependency from a python point of view because a) it's a native library and b) it doesn't really play by python packaging rules supplying an egg. I advocate use of Nix to solve both these problems and provide a default.nix so that nix users can simply perform a

$ nix-shell .

in the source directory for a development-ready shell (somthing like a non-python-specific virtualenv).

Those wishing to attempt using the pypi opencv-python package can try installing the package with the 'extra' pypi_opencv, which hypothetically should download & install opencv from pypi

$ pip install -e .[pypi_opencv]

but the author has never had any luck with that and has unfavourable opinions of pip in general, not to mention the concept of downloading & installing binaries from pypi.

Preliminary license is GPLv3.


The test suite makes use of images which are kept in a git submodule due to their size. Performing a

$ git submodule init
$ git submodule update

should fetch the required data. If this data is not present, the tests will quietly skip tests requiring images (which is most of them, though).

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

docoskin-0.1.0.tar.gz (11.6 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page