Skip to main content

ONNX PaddleOCR

Project description

ONNX PaddleOCR

这是一个基于 ONNX 的 PaddleOCR 实现,支持文字检测和识别功能。

特性

  • 支持多种语言文字识别
  • 基于 ONNX,无需安装 PaddlePaddle 和 paddleocr
  • 支持 GPU 加速(需要 onnxruntime-gpu)
  • 轻量级部署

use-gpu

  1. 如果使用 GPU, 替换本项目依赖uv remove onnxruntime==1.18.1 -> uv add onnxruntime-gpu==1.18.1
  2. 检查 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


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)

Uploaded Source

Built Distribution

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

onnx_paddleocr-0.2.2-py3-none-any.whl (6.6 MB view details)

Uploaded Python 3

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

Hashes for onnx_paddleocr-0.2.2.tar.gz
Algorithm Hash digest
SHA256 421e6be71f177458669f8d1f63b4a97532ef4425e6aeb0b92ef88b0adeb5ce93
MD5 cc2378caa04007f37b916bc63fb8ac02
BLAKE2b-256 a2fc31a365a4a02e994840564e50a861ec4919d75e1f58eae411e664a4db586e

See more details on using hashes here.

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

Hashes for onnx_paddleocr-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 46608c320d0ab767685baefba084d1dac8bdcc84996bd3abf9859dac8bc4ff4c
MD5 2f815afe41b78b1ef1833eb5b1a4e420
BLAKE2b-256 ee011d1a4e3d2103e6816042dba166f5ef5c72f1d021ec6ee12235a830ea6444

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