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 -> 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.3.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.3-py3-none-any.whl (6.6 MB view details)

Uploaded Python 3

File details

Details for the file onnx_paddleocr-0.2.3.tar.gz.

File metadata

  • Download URL: onnx_paddleocr-0.2.3.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.3.tar.gz
Algorithm Hash digest
SHA256 8d135061cb37c27f4ec136e477cf82a15d005c387e2ed288c1a112f0dfab40c8
MD5 0ff54cabfa3ca3baeb3fec5e4b0aac1c
BLAKE2b-256 3b6c9e9d4bcadecdb4bdd025452a7bfb79fd09b6c6e9a97429419e238112e8a8

See more details on using hashes here.

File details

Details for the file onnx_paddleocr-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: onnx_paddleocr-0.2.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 5c92d7f5cb32edd55ccec2557371db37c18921d257c2a011b0f87bb6d13db359
MD5 c80ff58e0de6ec84402da6bcfc3e0565
BLAKE2b-256 23e18a3efff4f3090ff2cd436f87db0b6d03092111f4a16a846eb8ef268cc8da

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