Giter VIP home page Giter VIP logo

docoskin's Introduction

Docoskin

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

Tests

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

docoskin's People

Contributors

risicle avatar

Stargazers

 avatar

Watchers

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