An OCR library for Python
Project description
LanyOCR
A general OCR to detect and recognize English texts in an image based on a combination of EasyOCR and PaddleOCR.
LanyOCR automatically merges text boxes into lines even for rotated texts.
Getting Started
Install dependencies
pip install lanyocr
Run example
PYTHONPATH=. python detect.py --merge_rotated_boxes true --merge_vertical true --image_path images/example1.jpg
Faster version, a bit less accurate
PYTHONPATH=. python detect.py --merge_rotated_boxes true --merge_vertical true --merge_boxes_inference true --image_path images/example1.jpg
Switch to different recognizer
PYTHONPATH=. python detect.py --merge_rotated_boxes true --merge_vertical true --recognizer_name paddleocr_en_mobile --image_path images/example1.jpg
Recognize other languages
PYTHONPATH=. python detect.py --merge_rotated_boxes true --merge_vertical true --recognizer_name paddleocr_french_mobile --image_path images/french_example1.jpg
Output image will be in outputs/output.jpg
Supported Languages
- English: paddleocr_en_server, paddleocr_en_mobile
- French: paddleocr_french_mobile
- Latin: paddleocr_latin_mobile
Note: Some unicode characters cannot be visualized correctly by OpenCV, please find the text lines in the console log.
Validate accuracy
Download ICDAR 2015 dataset
bash datasets/download_icdar2015.sh
Validate accuracy
python benchmark.py
Online API
You can try LanyOCR free on RapidAPI
To Do
[x] Abstract Class/Interface for each component
[x] LanyOcrDetector: outputs locations of text boxes
[x] LanyOcrMerger: merge text boxes into text lines
[x] LanyOcrRecognizer: convert text boxes/lines into text
[x] LanyOcrAngleClassifier: estimate the angle of a text box/line
[ ] Multi-languages support
[X] French
[X] Latin
[ ] German
[ ] Inference using multi-models to improve accuracy
[ ] Add interface to support voting policy
[ ] Expose flags to configure each component in OCR pipeline
Known issues
[ ] Visualization step: some small texts are drawn in incorrect directions
License
This project is licensed under the MIT License.
Credits
Special thanks to authors and developers of EasyOCR and PaddleOCR projects.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lanyocr-0.1.12-py3-none-any.whl.
File metadata
- Download URL: lanyocr-0.1.12-py3-none-any.whl
- Upload date:
- Size: 90.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
132171cdd81efbb9dd46c929adc9bbbed0c4e3185f24deffeaa399d53c844801
|
|
| MD5 |
8d87f778d6534f9281d93a1e4c37ee15
|
|
| BLAKE2b-256 |
a66f54825573a737b22a35da73df291af5d9904384de4083527b40e082c3a233
|