Deskewing and Dewarping
- unproject_text - Perspective recovery of text using transformed ellipses
- unpaper - a post-processing tool for scanned sheets of paper, especially for book pages that have been scanned from previously created photocopies.
- deskew - Library used to deskew a scanned document
- deskewing - Contains code to deskew images using MLPs, LSTMs and LLS tranformations
- skew_correction - De-skewing images with slanted content by finding the deviation using Canny Edge Detection.
- page_dewarp - Page dewarping and thresholding using a "cubic sheet" model
- text_deskewing - Rotate text images if they are not straight for better text detection and recognition.
- galfar/deskew - Deskew is a command line tool for deskewing scanned text documents. It uses Hough transform to detect "text lines" in the image. As an output, you get an image rotated so that the lines are horizontal.
- xellows1305/Document-Image-Dewarping - No code :(
- LAREX - LAREX is a semi-automatic open-source tool for layout analysis on early printed books.
- leonlulu/DeepLayout - Deep learning based page layout analysis
- P2PaLA - Page to PAGE Layout Analysis Tool
- ocroseg - This is a deep learning model for page layout analysis / segmentation.
- DIVA-DIA/DIVA_Layout_Analysis_Evaluator - Layout Analysis Evaluator for the ICDAR 2017 competition on Layout Analysis for Challenging Medieval Manuscripts
- ocrsegment - a deep learning model for page layout analysis / segmentation.
- SimpleHTR - Handwritten Text Recognition (HTR) system implemented with TensorFlow.
- handwriting-ocr - OCR software for recognition of handwritten text
- AWSLabs: handwritten text regognition for Apache MXNet
- TableNet - Unofficial implementation of ICDAR 2019 paper : TableNet: Deep Learning model for end-to-end Table detection and Tabular data extraction from Scanned Document Images.
- TreeStructure - Table Extraction Tool
- TableTrainNet - Table recognition inside douments using neural networks.
- ocr-table - Extract tables from scanned image PDFs using Optical Character Recognition.
- lingua - The most accurate natural language detection library for Java and other JVM languages, suitable for long and short text alike
- whatthelang - Lightning Fast Language Prediction rocket
Text detection and localization
- Scene-Text-Detection-with-SPECNET - Repository for Scene Text Detection with Supervised Pyramid Context Network with tensorflow.
- Real-time-Scene-Text-Detection-and-Recognition-System - End-to-end pipeline for real-time scene text detection and recognition.
- ocr_attention - Robust Scene Text Recognition with Automatic Rectification.
- masktextspotter.caffee2 - The code of "Mask TextSpotter: An End-to-End Trainable Neural Network for Spotting Text with Arbitrary Shapes".
- InceptText-Tensorflow - An Implementation of the alogrithm in paper IncepText: A New Inception-Text Module with Deformable PSROI Pooling for Multi-Oriented Scene Text Detection.
- textspotter - An End-to-End TextSpotter with Explicit Alignment and Attention
- RRD - RRD: Rotation-Sensitive Regression for Oriented Scene Text Detection.
- crpn - Corner-based Region Proposal Network.
- SSTDNet - Implement 'Single Shot Text Detector with Regional Attention, ICCV 2017 Spotlight'.
- R2CNN - caffe re-implementation of R2CNN: Rotational Region CNN for Orientation Robust Scene Text Detection.
- RRPN - Source code of RRPN ---- Arbitrary-Oriented Scene Text Detection via Rotation Proposals
- Tensorflow_SceneText_Oriented_Box_Predictor - This project modify tensorflow object detection api code to predict oriented bounding boxes. It can be used for scene text detection.
- DeepSceneTextReader - This is a c++ project deploying a deep scene text reading pipeline with tensorflow. It reads text from natural scene images. It uses frozen tensorflow graphs. The detector detect scene text locations. The recognizer reads word from each detected bounding box.
- DeRPN - A novel region proposal network for more general object detection ( including scene text detection ).
- Bartzi/see - SEE: Towards Semi-Supervised End-to-End Scene Text Recognition
- Bartzi/stn-ocr - Code for the paper STN-OCR: A single Neural Network for Text Detection and Text Recognition
- beacandler/R2CNN - caffe re-implementation of R2CNN: Rotational Region CNN for Orientation Robust Scene Text Detection
- HsiehYiChia/Scene-text-recognition - Scene text detection and recognition based on Extremal Region(ER)
- tensorflow_PSENet - This is a tensorflow re-implementation of PSENet: Shape Robust Text Detection with Progressive Scale Expansion Network.
- R2CNN_Faster-RCNN_Tensorflow - Rotational region detection based on Faster-RCNN.
- corner - Multi-Oriented Scene Text Detection via Corner Localization and Region Segmentation
- Corner_Segmentation_TextDetection - Multi-Oriented Scene Text Detection via Corner Localization and Region Segmentation.
- TextSnake.pytorch - A PyTorch implementation of ECCV2018 Paper: TextSnake: A Flexible Representation for Detecting Text of Arbitrary Shapes
- AON - Implementation for CVPR 2018 text recognition Paper by Tensorflow: "AON: Towards Arbitrarily-Oriented Text Recognition"
- pixel_link - Implementation of our paper 'PixelLink: Detecting Scene Text via Instance Segmentation' in AAAI2018
- seglink - An Implementation of the seglink alogrithm in paper Detecting Oriented Text in Natural Images by Linking Segments (=> pixe_link)
- SSTD - Single Shot Text Detector with Regional Attention
- MORAN_v2 - MORAN: A Multi-Object Rectified Attention Network for Scene Text Recognition
- Curve-Text-Detector - This repository provides train＆test code, dataset, det.&rec. annotation, evaluation script, annotation tool, and ranking table.
- tensorflow_PSENet - This is a tensorflow re-implementation of PSENet: Shape Robust Text Detection with Progressive Scale Expansion Network
- HCIILAB/DeRPN - A novel region proposal network for more general object detection ( including scene text detection ).
- TextField - TextField: Learning A Deep Direction Field for Irregular Scene Text Detection (TIP 2019)
- tensorflow-TextMountain - TextMountain: Accurate Scene Text Detection via Instance Segmentation
- Bartzi/see - Code for the AAAI 2018 publication "SEE: Towards Semi-Supervised End-to-End Scene Text Recognition"
- bgshih/aster - Recognizing cropped text in natural images.
- tianzhi0549/CTPN - Detecting Text in Natural Image with Connectionist Text Proposal Network
- EAST - A tensorflow implementation of EAST text detector
- AdvancedEAST - AdvancedEAST is an algorithm used for Scene image text detect, which is primarily based on EAST, and the significant improvement was also made, which make long text predictions more accurate.
- kurapan/EAST Implementation of EAST scene text detector in Keras
- songdejia/EAST - This is a pytorch re-implementation of EAST: An Efficient and Accurate Scene Text Detector.
- HaozhengLi/EAST_ICPR - Forked from argman/EAST for the ICPR MTWI 2018 CHALLENGE
- EAST-Detector-for-text-detection-using-OpenCV - Text Detection from images using OpenCV
- CRAFT-pytorch - Pytorch implementation of CRAFT text detector.
- fcakyon/craft-text-detector - PyTorch implementation of CRAFT
- TextBoxes_plusplus TextBoxes++: A Single-Shot Oriented Scene Text Detector
- TextBoxes-TensorFlow - TextBoxes re-implement using tensorflow
- zj463261929/TextBoxes - TextBoxes: A Fast Text Detector with a Single Deep Neural Network
- Shun14/TextBoxes_plusplus_Tensorflo - Textboxes_plusplus implementation with Tensorflow (python)
- shinjayne/textboxes - Textboxes implementation with Tensorflow (python)
- shinTB - Textboxes : Image Text Detection Model : python package (tensorflow)
- tensorflow_PSENet - PSENet: Shape Robust Text Detection with Progressive Scale Expansion Network
- PSENet - Shape Robust Text Detection with Progressive Scale Expansion Network.
- typefont - The first open-source library that detects the font of a text in a image.
Optical Character Recognition Engines and Frameworks
- ocular - Ocular is a state-of-the-art historical OCR system.
- pytextrator - python ocr using tesseract/ with EAST opencv detector
- cnn_lstm_ctc_ocr - Tensorflow-based CNN+LSTM trained with CTC-loss for OCR.
- PassportScanner - Scan the MRZ code of a passport and extract the firstname, lastname, passport number, nationality, date of birth, expiration date and personal numer.
- pannous/tensorflow-ocr - OCR using tensorflow with attention.
- BowieHsu/tensorflow_ocr - OCR detection implement with tensorflow v1.4.
- GRCNN-for-OCR - This is the implementation of the paper "Gated Recurrent Convolution Neural Network for OCR"
- go-ocr - A tool for extracting text from scanned documents (via OCR), with user-defined post-processing.
- insightocr - MXNet OCR implementation. Including text recognition and detection.
- ocr_densenet - The first Xi'an Jiaotong University Artificial Intelligence Practice Contest (2018AI Practice Contest - Picture Text Recognition) first; only use the densenet to identify the Chinese characters
- CNN_LSTM_CTC_Tensorflow - CNN+LSTM+CTC based OCR implemented using tensorflow.
- tmbdev/clstm - A small C++ implementation of LSTM networks, focused on OCR.
- ocropus3 - Repository collecting all the submodules for the new PyTorch-based OCR System.
- ocropy - Python-based tools for document analysis and OCR
- deep_ocr - make a better chinese character recognition OCR than tesseract.
- FastText - Library for efficient text classification and representation learning
- franc - Natural language detection
- emedvedev/attention-ocr - A Tensorflow model for text recognition (CNN + seq2seq with visual attention) available as a Python package and compatible with Google Cloud ML Engine.
- da03/attention-ocr - Visual Attention based OCR
- dhlab-epfl/dhSegment - Generic framework for historical document processing
- grobid - A machine learning software for extracting information from scholarly documents
- lapdftext - LA-PDFText is a system for extracting accurate text from PDF-based research articles
- gosseract - Go package for OCR (Optical Character Recognition), by using Tesseract C++ library.
- EasyOCR - Ready-to-use OCR with 40+ languages supported including Chinese, Japanese, Korean and Thai.
- Awesome-Scene-Text-Recognition - A curated list of resources dedicated to scene text localization and recognition
- chongyangtao/Awesome-Scene-Text-Recognition - Papers and datasets
Proprietary OCR Engines
File formats and tools
- nw-page-editor - Simple app for visual editing of Page XML files
- ocr-fileformat - Validate and transform various OCR file formats
- hocr-tools - Tools for manipulating and evaluating the hOCR format for representing multi-lingual OCR results by embedding them into HTML.
- ICDAR datasets
- scenetext - This is a synthetically generated dataset, in which word instances are placed in natural scene images, while taking into account the scene layout.
Data augmentation and Synthetic data generation
- DocCreator - DIAR software for synthetic document image and groundtruth generation, with various degradation models for data augmentation.
- Scene-Text-Image-Transformer - Scene Text Image Transformer
- Belval/TextRecognitionDataGenerator - A synthetic data generator for text recognition
- Sanster/text_renderer - https://github.com/Sanster/text_renderer
- Belval/TextRecognitionDataGenerator - https://github.com/Belval/TextRecognitionDataGenerator
Pre OCR Processing
- PRLib - Pre-Recognize Library - library with algorithms for improving OCR quality.
- sbb_binarization -
Post OCR Correction
- KBNLresearch/ochre - Toolbox for OCR post-correction
- cisocrgroup/PoCoTo - The CIS OCR PostCorrectionTool
- clovaai/deep-text-recognition-benchmark - Text recognition (optical character recognition) with deep learning methods.
- dinglehopper - dinglehopper is an OCR evaluation tool and reads ALTO, PAGE and text files.
- ocrodeg - a small Python library implementing document image degradation for data augmentation for handwriting recognition and OCR applications.
- scantailor - Scan Tailor is an interactive post-processing tool for scanned pages.
- jlsutherland/doc2text - help researchers fix these errors and extract the highest quality text from their pdfs as possible.
- mauvilsa/nw-page-editor - Simple app for visual editing of Page XML files.
- Transkribus - Transkribus is a comprehensive platform for the digitisation, AI-powered recognition, transcription and searching of historical documents.
- open-semantic-search - Open Semantic Search Engine and Open Source Text Mining & Text Analytics platform (Integrates ETL for document processing, OCR for images & PDF, named entity recognition for persons, organizations & locations, metadata management by thesaurus & ontologies, search user interface & search apps for fulltext search, faceted search & knowledge graph)
- ocrserver - A simple OCR API server, seriously easy to be deployed by Docker, on Heroku as well
- cosc428-structor - ~1000 book pages + OpenCV + python = page regions identified as paragraphs, lines, images, captions, etc.
- nidaba - An expandable and scalable OCR pipeline