Skip to main content

A lightweight OCR system based on PaddleOCR

Project description

English | 简体中文 |

OnnxOCR

onnx_logo

A High-Performance Multilingual OCR Engine Based on ONNX

GitHub Stars
GitHub Forks
GitHub License
Python Version

🚀 Version Updates

  • 2025.05.21
    1. Added PP-OCRv5 model, supporting 5 language types in a single model: Simplified Chinese, Traditional Chinese, Chinese Pinyin, English, and Japanese.
    2. Overall recognition accuracy improved by 13% compared to PP-OCRv4.
    3. Accuracy is consistent with PaddleOCR 3.0.

🌟 Core Advantages

  1. Deep Learning Framework-Free: A universal OCR engine ready for direct deployment.
  2. Cross-Architecture Support: Uses PaddleOCR-converted ONNX models, rebuilt for deployment on both ARM and x86 architecture computers with unchanged accuracy under limited computing power.
  3. High-Performance Inference: Faster inference speed on computers with the same performance.
  4. Multilingual Support: Single model supports 5 language types: Simplified Chinese, Traditional Chinese, Chinese Pinyin, English, and Japanese.
  5. Model Accuracy: Consistent with PaddleOCR models.
  6. Domestic Hardware Adaptation: Restructured code architecture for easy adaptation to more domestic GPUs by modifying only the inference engine.

🛠️ Environment Setup

python>=3.6  

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt  

Note:

  • The Mobile version model is used by default; the PP-OCRv5_Server-ONNX model offers better performance.
  • The Mobile model is already in onnxocr/models/ppocrv5 and requires no download;
  • The PP-OCRv5_Server-ONNX model is large and uploaded to Baidu Netdisk (extraction code: wu8t). After downloading, place the det and rec models in ./models/ppocrv5/ to replace the existing ones.

🚀 One-Click Run

python test_ocr.py  

📡 API Service (CPU Example)

Start Service

python app-service.py  

Test Example

Request

curl -X POST http://localhost:5005/ocr \  
-H "Content-Type: application/json" \  
-d '{"image": "base64_encoded_image_data"}'  

Response

{  
  "processing_time": 0.456,  
  "results": [  
    {  
      "text": "Name",  
      "confidence": 0.9999361634254456,  
      "bounding_box": [[4.0, 8.0], [31.0, 8.0], [31.0, 24.0], [4.0, 24.0]]  
    },  
    {  
      "text": "Header",  
      "confidence": 0.9998759031295776,  
      "bounding_box": [[233.0, 7.0], [258.0, 7.0], [258.0, 23.0], [233.0, 23.0]]  
    }  
  ]  
}  

🐳 Docker Image Environment (CPU)

Build Image

docker build -t ocr-service .  

Run Image

docker run -itd --name onnxocr-service-v3 -p 5006:5005 onnxocr-service:v3  

POST Request

url: ip:5006/ocr  

Response Example

{  
  "processing_time": 0.456,  
  "results": [  
    {  
      "text": "Name",  
      "confidence": 0.9999361634254456,  
      "bounding_box": [[4.0, 8.0], [31.0, 8.0], [31.0, 24.0], [4.0, 24.0]]  
    },  
    {  
      "text": "Header",  
      "confidence": 0.9998759031295776,  
      "bounding_box": [[233.0, 7.0], [258.0, 7.0], [258.0, 23.0], [233.0, 23.0]]  
    }  
  ]  
}  

🌟 Effect Demonstration

Example 1 Example 2
Example 3 Example 4
Example 5 Example 6

👨💻 Contact & Communication

Career Opportunities

I am currently seeking job opportunities. Welcome to connect!
WeChat QR Code

OnnxOCR Community

WeChat Group

WeChat Group

QQ Group

QQ Group

🎉 Acknowledgments

Thanks to PaddleOCR for technical support!

🌍 Open Source & Donations

I am passionate about open source and AI technology, believing they can bring convenience and help to those in need, making the world a better place. If you recognize this project, you can support it via Alipay or WeChat Pay (please note "Support OnnxOCR" in the remarks).

WeChat Pay Alipay

📈 Star History

Star History Chart

🤝 Contribution Guidelines

Welcome to submit Issues and Pull Requests to improve the project together!

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

onnxocr-2025.5.tar.gz (80.0 MB view details)

Uploaded Source

Built Distribution

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

onnxocr-2025.5-py3-none-any.whl (80.0 MB view details)

Uploaded Python 3

File details

Details for the file onnxocr-2025.5.tar.gz.

File metadata

  • Download URL: onnxocr-2025.5.tar.gz
  • Upload date:
  • Size: 80.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for onnxocr-2025.5.tar.gz
Algorithm Hash digest
SHA256 d2bcdc5b9c4b167e9ece42c79dbb5d02dc3d4584aa6dabe00345ce354e5e8a10
MD5 bc103cfe93e435bbbedba45e649dcd92
BLAKE2b-256 5a50055cf4442fae0cce629829534907c1f87027448a048da0c00dba367a9fc4

See more details on using hashes here.

File details

Details for the file onnxocr-2025.5-py3-none-any.whl.

File metadata

  • Download URL: onnxocr-2025.5-py3-none-any.whl
  • Upload date:
  • Size: 80.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for onnxocr-2025.5-py3-none-any.whl
Algorithm Hash digest
SHA256 9d3c0556a4a8f28d1c591fbfccc439538c5132bc3f5138848ec4a4c216cda11f
MD5 457cafa0d5a49bb0a17135d609d16b67
BLAKE2b-256 47c83a5fe0bf41207debf508bfc1def4973cca7173226df8485b8711d1e5747b

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 Pingdom Monitoring Sentry Error logging StatusPage Status page