ONNX PaddleOCR
Project description
ONNX PaddleOCR
这是一个基于 ONNX 的 PaddleOCR 实现,支持文字检测和识别功能。
特性
- 支持多种语言文字识别
- 基于 ONNX,无需安装 PaddlePaddle 和 paddleocr
- 支持 GPU 加速(需要 onnxruntime-gpu)
- 轻量级部署
use-gpu
- 如果使用 GPU, 替换本项目依赖
uv remove onnxruntime==1.18.1->uv add onnxruntime-gpu==1.18.1 - 检查 CUDA 和 cuDNN 版本是否正确: https://onnxruntime.ai/docs/execution-providers/CUDA-ExecutionProvider.html#requirements
nvcc --version
安装
pip install onnx-paddleocr # pip安装
uv add onnx-paddleocr # uv安装
使用方法
命令行使用
pipx install onnx-paddleocr # pipx安装
uv tool install onnx-paddleocr # uv安装
ocr --help # 帮助信息
ocr ./test.jpg --output ./output # 示例:识别图片,输出json文件
ocr ./test.jpg # 控制台输出
ocr ./test.jpg --use-gpu # 需要安装支持的CUDA和cuDNN
Python API 使用
import cv2
from onnx_ocr import ONNXPaddleOcr, result_to_json_data, save_to_img, save_to_json
# 初始化OCR
model = ONNXPaddleOcr(
use_angle_cls=False,
use_gpu=False,
cpu_threads=16,
det_model_dir="", # 不指定默认:~/.onnx/models/ppocrv5_server/det/det.onnx
rec_model_dir="", # 不指定默认:~/.onnx/models/ppocrv5_server/rec/rec.onnx
)
# 读取图片
img = cv2.imread("./images/test.jpg")
# 执行OCR
result = model.ocr(img)
# 转为json数据
json_data = result_to_json_data(result)
save_to_img(img, result, "output")
save_to_json(json_data, "output")
模型文件
模型采用ppocrv5_server文件不会包含在安装包中,首次运行时程序会自动从 GitHub Releases 下载所需模型文件到本地用户目录下的:~/.onnx/models/ppocrv5_server
如果您希望手动下载模型,请访问以下链接:
将这些文件放置在如下目录结构中:
~/.onnx/models/
└── ppocrv5_server/
├── det/
│ └── det.onnx
└── rec/
└── rec.onnx
部分参数说明
| 参数 | 默认值 | 说明 |
|---|---|---|
| --use-angle-cls | False | 是否使用角度分类器 |
| --use-gpu | False | 是否使用 GPU |
| --det-model | ~/.onnx/models/ppocrv5_server/det/det.onnx | 检测模型路径 |
| --rec-model | ~/.onnx/models/ppocrv5_server/rec/rec.onnx | 识别模型路径 |
许可证
本项目采用 MIT 许可证。
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 Distribution
onnx_paddleocr-0.2.2.tar.gz
(6.5 MB
view details)
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 onnx_paddleocr-0.2.2.tar.gz.
File metadata
- Download URL: onnx_paddleocr-0.2.2.tar.gz
- Upload date:
- Size: 6.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
421e6be71f177458669f8d1f63b4a97532ef4425e6aeb0b92ef88b0adeb5ce93
|
|
| MD5 |
cc2378caa04007f37b916bc63fb8ac02
|
|
| BLAKE2b-256 |
a2fc31a365a4a02e994840564e50a861ec4919d75e1f58eae411e664a4db586e
|
File details
Details for the file onnx_paddleocr-0.2.2-py3-none-any.whl.
File metadata
- Download URL: onnx_paddleocr-0.2.2-py3-none-any.whl
- Upload date:
- Size: 6.6 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
46608c320d0ab767685baefba084d1dac8bdcc84996bd3abf9859dac8bc4ff4c
|
|
| MD5 |
2f815afe41b78b1ef1833eb5b1a4e420
|
|
| BLAKE2b-256 |
ee011d1a4e3d2103e6816042dba166f5ef5c72f1d021ec6ee12235a830ea6444
|