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
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
paddle_onnxocr-0.0.6.tar.gz
(80.4 kB
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4126eb31edb1f10e93292b0fe3672e87026f9e4db35f55919b1ed3e8c266317d
|
|
| MD5 |
7fd86c8d4680f0308cfa97e42bdd3d82
|
|
| BLAKE2b-256 |
7fa9bebd4fae178a4e9f5317083948a2431321865cfa1a3302c59b5aa816e6ce
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a1030910a31a4ade6d6c1aa9d7951b2dec76b1d7eca495bc670e79b684b229cb
|
|
| MD5 |
cf8dbb48a9b07b9e83c0f235591dd1bc
|
|
| BLAKE2b-256 |
c6c6e610c19c0eee6029c25d8e1fe4d3119a3e84a53466eaaaa2bfef1af4d1c5
|