Skip to main content

A package for the signature detection

Project description

Signature Detection

A simple tool to detect if there are signatures in an image or a PDF file.

The full documentation is presented at the Github Repository.

Extra Dependencies

This tool uses Wand to convert a PDF file into images.

Wand is a ctypes-based simple ImageMagick binding for Python. You may need to install ImageMagick on your local machine.

More details are available here.

Usage

Signature_detect contains 4 classes.

  1. Loader
  2. Extractor
  3. Cropper
  4. Judger

Loader

Loader can read an image or a PDF file page by page.

It returns a list of the masks. Each mask is a numpy 2 dimensions array. Its element's value is 0 or 255.

from signature_detect.loader import Loader

loader = Loader(
    low_threshold=(0, 0, 250), 
    high_threshold=(255, 255, 255))

masks = loader.get_masks(file_path)

Extractor

Extractor reads a mask, labels the regions in the mask, and removes both small and big regions. We consider that the signature is a region of middle size.

from signature_detect.extractor import Extractor

extractor = Extractor(
    outlier_weight=3, 
    outlier_bias=100, 
    amplfier=10, 
    min_area_size=10)

labeled_mask = extractor.extract(mask)

Cropper

Cropper crops the regions in the labeled mask.

from signature_detect.cropper import Cropper

cropper = Cropper(
    min_region_size=10000, 
    border_ratio=0.1)

results = cropper.run(labeled_mask)

Judger

Judger decides whether a region is a signature.

from signature_detect.judger import Judger

judger = Judger(
    size_ratio=[1, 4], 
    pixel_ratio=[0.01, 1])

is_signed = judger.judge(result["cropped_mask"])

Dev version

If you would like to develop this package and run the tests, you can download the code and install dev environment locally.

pip install -e .[dev]

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

signature-detect-0.1.4.tar.gz (6.1 kB view details)

Uploaded Source

Built Distribution

signature_detect-0.1.4-py3-none-any.whl (13.6 kB view details)

Uploaded Python 3

File details

Details for the file signature-detect-0.1.4.tar.gz.

File metadata

  • Download URL: signature-detect-0.1.4.tar.gz
  • Upload date:
  • Size: 6.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.8

File hashes

Hashes for signature-detect-0.1.4.tar.gz
Algorithm Hash digest
SHA256 2bf25cf3695a338c79b3c4ec17208161977477144ba9c56283d737117bc32be4
MD5 8b8e9459ceed6dab69e20e10d7bdc844
BLAKE2b-256 e3621c84a233fcd915297e5979091d57fd942b3b4d2648fcccc11df09ee7d9d2

See more details on using hashes here.

File details

Details for the file signature_detect-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: signature_detect-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 13.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.10.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.8

File hashes

Hashes for signature_detect-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 52c2775ff0415619243afc0b943acbfcdc86be3f9999582cd6adae3d80d7dc2a
MD5 5854fe55aa40f93b5f71edcfd07fcd65
BLAKE2b-256 8f7996c9b3f4eef8d33bf18bf44e76f1f35d8ca6115ad54b71237ae580eee11e

See more details on using hashes here.

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