English | 简体中文 |
OnnxOCR
A High-Performance Multilingual OCR Engine Based on ONNX
🚀 Version Updates
- 2025.05.21
- Added PP-OCRv5 model, supporting 5 language types in a single model: Simplified Chinese, Traditional Chinese, Chinese Pinyin, English, and Japanese.
- Overall recognition accuracy improved by 13% compared to PP-OCRv4.
- Accuracy is consistent with PaddleOCR 3.0.
🌟 Core Advantages
- Deep Learning Framework-Free: A universal OCR engine ready for direct deployment.
- 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.
- High-Performance Inference: Faster inference speed on computers with the same performance.
- Multilingual Support: Single model supports 5 language types: Simplified Chinese, Traditional Chinese, Chinese Pinyin, English, and Japanese.
- Model Accuracy: Consistent with PaddleOCR models.
- 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/ppocrv5and requires no download; - The PP-OCRv5_Server-ONNX model is large and uploaded to Baidu Netdisk (extraction code: wu8t). After downloading, place the
detandrecmodels 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!
OnnxOCR Community
WeChat 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).
📈 Star History
🤝 Contribution Guidelines
Welcome to submit Issues and Pull Requests to improve the project together!
Metadata
Release files for onnxocr 2.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| onnxocr-2.0.0.tar.gz | 80.2 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| onnxocr-2.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 160.1 MB
Release files / onnxocr-2.0.0.tar.gz
| Download URL | onnxocr-2.0.0.tar.gz |
|---|---|
| Size | 80.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3288c4aac54d1c6b0ed9df3d733b47e9f41ec968a7ed6f8780f0fb1e86b6c8c3
|
|
BLAKE2b-256 checksum How to use checksums |
60f40c7a3189440b05f2e6253ae41341fb051f5b26a7e973f0bf3ee70b4ef640
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / onnxocr-2.0.0-py3-none-any.whl
| Download URL | onnxocr-2.0.0-py3-none-any.whl |
|---|---|
| Size | 79.9 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fa8a24530f023c696f8c7bb48c0860b67b6ba0c48024b33f39d3586c6104e246
|
|
BLAKE2b-256 checksum How to use checksums |
665fe29c3dbb7f4ce30463a4fee35c564304090527981f301ed7f7e543c49245
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|