# OnnxOCR
**Repository Path**: jingsongliujing/OnnxOCR
## Basic Information
- **Project Name**: OnnxOCR
- **Description**: 基于PaddleOCR重构,并且脱离PaddlePaddle深度学习训练框架的轻量级OCR,推理速度超快 —— A lightweight OCR system based on PaddleOCR, decoupled from the PaddlePaddle deep learning training framework, with ultra-fast inference speed.
- **Primary Language**: Python
- **License**: Apache-2.0
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 94
- **Forks**: 21
- **Created**: 2025-01-20
- **Last Updated**: 2025-09-29
## Categories & Tags
**Categories**: cv
**Tags**: None
## README
如果项目对您有帮助,欢迎点击右上角 **Star** 支持!✨
### **OnnxOCR**
### 
**基于 ONNX 的高性能多语言 OCR 引擎**




## 🚀 版本更新
- **2025.05.21**
1. 新增 PP-OCRv5 模型,单模型支持 5 种文字类型:简体中文、繁体中文、中文拼音、英文和日文。
2. 整体识别精度相比ppocrv4提升13个百分点
3. 精度与Paddleocr3.0保持一致。
## 🌟 核心优势
1. **脱离深度学习训练框架**:可直接用于部署的通用 OCR。
2. **跨架构支持**:在算力有限、精度不变的情况下,使用 PaddleOCR 转成 ONNX 模型,重新构建的可部署在 ARM 架构和 x86 架构计算机上的 OCR 模型。
3. **高性能推理**:在同样性能的计算机上推理速度加速。
4. **多语言支持**:单模型支持 5 种文字类型:简体中文、繁体中文、中文拼音、英文和日文。
5. **模型精度**:与 PaddleOCR 模型保持一致。
6. **国产化适配**:重构代码工程架构,只需简单进行推理引擎的修改,即可适配更多国产化显卡。
## 🛠️ 环境安装
```bash
python>=3.6
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt
```
**注意**:
- 默认使用 Mobile 版本模型,使用 PP-OCRv5_Server-ONNX 模型效果更佳。
- Mobile 模型已存在于 `onnxocr/models/ppocrv5` 下,无需下载;
- PP-OCRv5_Server-ONNX 模型过大,已上传至 [百度网盘](https://pan.baidu.com/s/1hpENH_SkLDdwXkmlsX0GUQ?pwd=wu8t)(提取码: wu8t),下载后将 `det` 和 `rec` 模型放到 `./models/ppocrv5/` 下替换即可。
## 🚀 一键运行
```bash
python test_ocr.py
```
## 📡 API 服务(CPU 示例)
### 启动服务
```bash
python app-service.py
```
### 测试示例
#### 请求
```bash
curl -X POST http://localhost:5005/ocr \
-H "Content-Type: application/json" \
-d '{"image": "base64_encoded_image_data"}'
```
#### 响应
```json
{
"processing_time": 0.456,
"results": [
{
"text": "名称",
"confidence": 0.9999361634254456,
"bounding_box": [[4.0, 8.0], [31.0, 8.0], [31.0, 24.0], [4.0, 24.0]]
},
{
"text": "标头",
"confidence": 0.9998759031295776,
"bounding_box": [[233.0, 7.0], [258.0, 7.0], [258.0, 23.0], [233.0, 23.0]]
}
]
}
```
## 🐳 Docker 镜像环境(CPU)
### 镜像构建
```bash
docker build -t ocr-service .
```
### 镜像启动
```bash
docker run -itd --name onnxocr-service-v3 -p 5006:5005 onnxocr-service:v3
```
### POST 请求
```
url: ip:5006/ocr
```
### 返回值示例
```json
{
"processing_time": 0.456,
"results": [
{
"text": "名称",
"confidence": 0.9999361634254456,
"bounding_box": [[4.0, 8.0], [31.0, 8.0], [31.0, 24.0], [4.0, 24.0]]
},
{
"text": "标头",
"confidence": 0.9998759031295776,
"bounding_box": [[233.0, 7.0], [258.0, 7.0], [258.0, 23.0], [233.0, 23.0]]
}
]
}
```
## 🌟 效果展示
| 示例 1 | 示例 2 |
|--------|--------|
|  |  |
| 示例 3 | 示例 4 |
|--------|--------|
|  |  |
| 示例 5 | 示例 6 |
|--------|--------|
|  |  |
## 👨💻 联系与交流
### 求职信息
本人正在寻求工作机会,欢迎联系!

### OnnxOCR 交流群
#### 微信群

#### QQ 群

## 🎉 致谢
感谢 [PaddleOCR](https://github.com/PaddlePaddle/PaddleOCR) 提供的技术支持!
## 🌍 开源与捐赠
我热爱开源和 AI 技术,相信它们能为有需要的人带来便利和帮助,让世界变得更美好。如果您认可本项目,可以通过支付宝或微信进行打赏(备注请注明支持 OnnxOCR)。
## 📈 Star 历史
[](https://star-history.com/#jingsongliujing/OnnxOCR&Date)
## 🤝 贡献指南
欢迎提交 Issues 和 Pull Requests,共同改进项目!