Skip to main content

paddleOCR的onnx实现

Project description

paddle-onnxocr

安装

pip install --no-cache-dir paddle-onnxocr

使用示例

单次推理

from paddleONNXOCR import PredictSystem
from paddleONNXOCR.predict.ocr_dataclass import OCRResult


async def main():
    """
    推理在线图片
    :return:
    """
    async with PredictSystem() as predictor_system:
        ocr_result: OCRResult = await predictor_system.predict(
            "https://wx2.sinaimg.cn/mw690/005AKOR6ly1hvv14x3e1rj30j615hwfl.jpg"
        )
        print(ocr_result.text)
        print(ocr_result.json)


if __name__ == '__main__':
    import asyncio

    asyncio.run(main())

批量推理

import cv2
from PIL import Image
from typing import AsyncGenerator
from paddleONNXOCR import PredictSystem
from paddleONNXOCR.predict.ocr_dataclass import OCRResult


async def main():
    """
    推理在线图片
    :return:
    """
    async with PredictSystem() as predictor_system:
        ocr_result: AsyncGenerator[OCRResult, None] = predictor_system.predict_batch([
            "https://wx2.sinaimg.cn/mw690/005AKOR6ly1hvv14x3e1rj30j615hwfl.jpg",
            cv2.imread("test.png"),
            Image.open("test.png")
        ])
        async for result in ocr_result:
            if result is not None:
                print(result.text)
                print(result.json)


if __name__ == '__main__':
    import asyncio

    asyncio.run(main())

单例调用

from paddleONNXOCR import PredictSystem

async def main():
    predictor_system = PredictSystem()
    await predictor_system.__aenter__()
    return predictor_system
# 外部拿到实力调用推理,参考api/__init__.py中的lifespan

默认情况下,会自动从modelscope下载以下模型:

PP-LCNet_x0_25_text_line_ori_infer.onnx-->文本行方向检测模型
PP-LCNet_x1_0_doc_ori.onnx->文档方向分类
PP-OCRv5_mobile_det_infer.onnx->文本检测mobile模型
PP-OCRv5_mobile_rec_infer.onnx->文本识别mobile模型

更改模型

from paddleONNXOCR import PredictSystem
from paddleONNXOCR.models_enum import DetModels, RecModels

# 切换成server版本
PredictSystem(det_model_name=DetModels.SERVER, rec_model_name=RecModels.SERVER)

传递本地模型路径

from paddleONNXOCR import PredictSystem

PredictSystem(det_model_path="testDir/xxx.onnx")

模型启用

from paddleONNXOCR import PredictSystem

PredictSystem()
# use_angle_cls: 启用文本放方向检测,默认True
# use_deskew: 启用倾斜图像旋转矫正,默认False
# use_uvdoc: 启用图像矫正,默认False
# use_doc_cls: 启用图像方向分类,默认True

PS:具体参数请点到每一个方法内,有完整解释。

api接口服务

提供了dokcer构建启动的方式. 执行bash命令,自动构建docker服务启动. windows下请使用wsl子系统.

bash run.sh

依赖项目

opencv-python-headless
shapely
pyclipper
onnxruntime
pillow
validators
aiohttp
psutil
deskew
modelscope

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

paddle_onnxocr-0.0.6.tar.gz (80.4 kB view details)

Uploaded Source

Built Distribution

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

paddle_onnxocr-0.0.6-py3-none-any.whl (88.2 kB view details)

Uploaded Python 3

File details

Details for the file paddle_onnxocr-0.0.6.tar.gz.

File metadata

  • Download URL: paddle_onnxocr-0.0.6.tar.gz
  • Upload date:
  • Size: 80.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.13

File hashes

Hashes for paddle_onnxocr-0.0.6.tar.gz
Algorithm Hash digest
SHA256 4126eb31edb1f10e93292b0fe3672e87026f9e4db35f55919b1ed3e8c266317d
MD5 7fd86c8d4680f0308cfa97e42bdd3d82
BLAKE2b-256 7fa9bebd4fae178a4e9f5317083948a2431321865cfa1a3302c59b5aa816e6ce

See more details on using hashes here.

File details

Details for the file paddle_onnxocr-0.0.6-py3-none-any.whl.

File metadata

  • Download URL: paddle_onnxocr-0.0.6-py3-none-any.whl
  • Upload date:
  • Size: 88.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.13

File hashes

Hashes for paddle_onnxocr-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 a1030910a31a4ade6d6c1aa9d7951b2dec76b1d7eca495bc670e79b684b229cb
MD5 cf8dbb48a9b07b9e83c0f235591dd1bc
BLAKE2b-256 c6c6e610c19c0eee6029c25d8e1fe4d3119a3e84a53466eaaaa2bfef1af4d1c5

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