Skip to main content

Document Image Skew Estimation

pypi package CircleCI Codacy Badge Codacy Badge Downloads example workflow HF Paper HF Dataset

Cover Image

Table of Contents

Table of contents generated with markdown-toc

Installation

pip

pip install jdeskew

conda

conda create --name jdeskew -c conda-forge jdeskew

How-to-use

using python

from jdeskew.estimator import get_angle
angle = get_angle(image)

from jdeskew.utility import rotate
output_image = rotate(image, angle)

Docker

https://hub.docker.com/r/phamquiluan/jdeskew/tags

# build 
DOCKER_BUILDKIT=1 docker build -t jdeskew .

# run
docker run -p 8000:80 jdeskew

# test
curl -v -F file=@sample.png localhost:8000/predict

using cog

https://github.com/replicate/cog

cog build --debug
cog predict -i input=@skew.png

# Output:
# Running prediction...
# {
#   "angle": -0.12520868113522532
# }

Download Paper

Link1: https://ieeexplore.ieee.org/document/9897910

Link2: https://www.researchgate.net/publication/364320913_ADAPTIVE_RADIAL_PROJECTION_ON_FOURIER_MAGNITUDE_SPECTRUM_FOR_DOCUMENT_IMAGE_SKEW_ESTIMATION

Link3: https://huggingface.co/papers/2603.05942

Performance Comparison on DISE 2021

CE: Correct Estimation rate

WE: Worst Error

AED TOP80 CE WE
FredsDeskew 10.82 0.09 0.54 109
PypiDeskew 16.59 0.24 0.2 141
Koo, Hyung Il et al. 0.22 0.09 0.48 9.43
CMC-MSU 0.27 0.11 0.43 23.2
LRDE-EPITA-a 0.14 0.06 0.66 10.61
Our (1024) 0.11 0.07 0.67 1.13
Our (1500) 0.09 0.05 0.78 1.13
Our (2048) 0.08 0.04 0.84 1.13
Our (3072) 0.07 0.04 0.86 1.13
Our (4096) 0.08 0.04 0.83 1.18

DISE 2021 Dataset

This datasets are built upon three other datasets: DISEC 2013, RVL-CDIP, RDCL 2017. So I urge you to respect their LICENSE.

Dataset Name URL
DISE 2021 (45 degree) https://drive.google.com/file/d/1a-a6aOqdsghjeHGLnCLsDs7NoJIus-Pw/view?usp=sharing
DISE 2021 (15 degree) https://drive.google.com/file/d/1BLiuu-j28dbuPFi4n3C0KuV6vXGmB0qS/view?usp=sharing

Can also download from Hugging Face: https://huggingface.co/datasets/phamquiluan/DISE-2021

Or from Zenodo: https://zenodo.org/records/12570649

Reproducibility and Evaluation Code

Check the reproduce.ipynb file

Citation

L. Pham, H. Hoang, X.T. Mai, T. A. Tran, "Adaptive Radial Projection on Fourier Magnitude Spectrum for Document Image Skew Estimation", ICIP, 2022.

@inproceedings{pham2021dise,
  title={Adaptive Radial Projection on Fourier Magnitude Spectrum for Document Image Skew Estimation},
  author={Luan Pham, Hao Hoang, Toan Mai, and Tuan Anh Tran},
  booktitle={2022 29th International Conference on Image Processing (ICIP)},
  year={2022},
  organization={IEEE}
}

Download files

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

Source Distribution

jdeskew-0.4.1.tar.gz (845.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jdeskew-0.4.1-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

File details

Details for the file jdeskew-0.4.1.tar.gz.

File metadata

  • Download URL: jdeskew-0.4.1.tar.gz
  • Upload date:
  • Size: 845.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for jdeskew-0.4.1.tar.gz
Algorithm Hash digest
SHA256 f578c182d5a6b5b49687340402a5e9399f3e62dfb4945ad76cb1d2cc51e35714
MD5 f37799e11dfbcc8415fcd77c0acb35a0
BLAKE2b-256 665f5988e24c34178ba487c2ab0c15c71b9fa6873a9d0226bc5569b2e42484fb

See more details on using hashes here.

File details

Details for the file jdeskew-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: jdeskew-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 7.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.25

File hashes

Hashes for jdeskew-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3abb1a52e349013bda1375fed69d0939ebe0ce2767249395e49e53c31de1584e
MD5 6df58644d43a7b49976d5d03a9a56e0a
BLAKE2b-256 c88a936f4a36c53345c50cab0d3b4caea3f9499eae7bf41f626890e07ba0a204

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page