/DocuScan

:eyeglasses: An OpenCV project for detecting books, papers, or any rectangular objects in an image, regardless the perspective, and straightening it as if it was a normal scan.

Primary LanguagePythonGNU General Public License v2.0GPL-2.0

DocuScan

An OpenCV project for detecting books, papers, or any rectangular objects in an image, regardless the perspective, and straightening it as if it was a normal scan.

Requirements

Python 2.7.9

OpenCV

NumPy

Results

Images from example runs can be found in the results folder.

Exampes

Automaticly (heuristically) setting the argument parameters (height and closing) to find the best fit.

We have set a noise removal level of 3.

$> python2.7 scan.py -i img/example9.jpg -a -n 3
Manual argument parameter setting
$> python2.7 scan.py -i img/example10.jpg -H 400 -c 1 -n 2
  • Detection steps
    1. Original image
    2. Bilateral filter
    3. Canny edges + Morphological closing
    4. Contour detection

example10

  • Fixing the perspective and applying adaptive thresholding

example10a example10b

$> python2.7 scan.py -i img/example5.jpg -H 600 -c 3
  • Detection steps

example5

  • Fixing the perspective and applying adaptive thresholding

example5