ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

RapidOCR 快速上手:5 行代码跑通离线多语言 OCR 识别

RapidOCR 快速上手:5 行代码跑通离线多语言 OCR 识别 RapidOCR 快速上手5 行代码跑通离线多语言 OCR 识别【免费下载链接】RapidOCR Awesome OCR multiple programing languages toolkits based on ONNX Runtime, OpenVINO, MNN, PaddlePaddle, TensorRT and PyTorch.项目地址: https://gitcode.com/GitHub_Trending/ra/RapidOCRRapidOCR 把 PaddleOCR 的模型转成 ONNX 等跨平台格式装一个 Python 包就能离线跑图片文字识别识别语言覆盖中英文等 16 种。它解决的是 PaddleOCR 模型直接部署时工程链路较长的问题作者将模型转成 ONNX、Paddle、Torch 等格式并做了 Python、C、Java、C# 的多端移植降低终端设备上的推理部署成本。做本地文档数字化、截图文字提取或在 Android 等端侧设备做识别、不想依赖云端 OCR API 的开发者可以直接用。30 秒看到第一份识别结果装好后 5 行代码就能看到结果from rapidocr import RapidOCR engine RapidOCR() result engine(python/tests/test_files/black_font_color_transparent.png) print(result) result.vis(vis_result.jpg)engine 传入本地路径、URL、bytes 或 numpy 数组都行输出 boxes文字行四角坐标、txts文本、scores置信度最后一行把框和文字画回原图并保存为 vis_result.jpg。能力全景场景与模块对照下表把常见场景映射到仓库内对应模块读源码时可以按图索骥场景能力模块路径文字区域检测定位图中文字行输出四角坐标框ch_ppocr_det/方向矫正判断文字行是否倒置 180°识别前先摆正ch_ppocr_cls/文字识别逐行输出文本与置信度ch_ppocr_rec/多语言识别16 种识别语言中、英、日、韩、繁体中文、阿拉伯文、西里尔文等utils/typings.py后端切换onnxruntime、openvino、paddle、pytorch、tensorrt、mnn 六套推理引擎inference_engine/词级定位返回词框或单字符框cal_rec_boxes/左图用默认中文模型即可识别日文、韩文等只需切换语言参数下面进阶部分有说明。从零到跑通克隆、安装与首跑git clone https://gitcode.com/GitHub_Trending/ra/RapidOCR cd RapidOCR/python pip install -r requirements.txt onnxruntime要求 Python 3.8 以上Linux、Windows、macOS 都支持。首次调用 engine 时会自动从 ModelScope 下载 det、cls、rec 三个模型到 models/ 目录默认组合是 PP-OCRv6 small 的检测与识别模型加 PP-OCRv4 mobile 的方向分类模型之后每次运行都是纯本地。如果网络访问不到 ModelScope 导致下载失败可以用命令行入口的 download_models 子命令预下载或把模型文件手动放入该目录。首跑报No module named onnxruntime的话说明只装了 rapidocr 主包没装推理引擎按上面第二条命令补装 onnxruntime 即可。最常改的 3 个参数完整参数在 config.yaml日常真正会动的就下面三个Rec.lang_type默认 ch决定识别模型的语言。识别日文、韩文等时改成 japan、korean 等合法取值见 LangRec 枚举检测端有 ch、en、multi多语言三档。Global.text_score默认 0.5识别置信度的过滤下限低于该值的结果直接丢弃。漏检多就调低误检多就调高调用 engine 时也可以按次传入。Det / Rec.engine_type默认 onnxruntime按部署设备换后端openvino 适合 Intel CPUtensorrt 适合 NVIDIA GPU默认启用 fp16mnn 适合移动端。这三个不写进配置文件也能按次覆盖仓库还提供了命令行等价入口python -m rapidocr.main -img path/to/img.jpg -vis架构速览一条识别管线如何串起来main.py 里的 RapidOCR 类是编排层先把图像做预处理和缩放再依次跑 det检测→ cls方向→ rec识别各阶段输出传给下游。三个阶段各自懒加载模型关掉 use_det 就整段跳过检测也不会加载检测模型。底层 inference_engine/ 用统一接口封装六套推理后端模型清单与 SHA256 校验值集中在 default_models.yaml它决定了下载哪个语言、哪个版本PP-OCRv4/v5/v6和哪个规格mobile、server、tiny、small、medium的模型。常见问题首次运行很慢正常吗首次要下载 det、cls、rec 三个模型并初始化推理引擎之后模型缓存在 models/ 目录耗时恢复常态。能识别哪些语言typings.py 的 LangRec 枚举列了 16 种中文、英文、日文、韩文、繁体中文、阿拉伯文、西里尔文、拉丁文、天城文、泰文、希腊文等识别模型和语言字典按 language 下载切换语言时注意模型体积会随之变化。图里没有文字会怎样管线返回空结果而不是报错仓库测试目录里的 empty_black.jpg 就是覆盖这个场景的样例配套用例在 tests/。能用 GPU 吗可以。onnxruntime 配置里有 use_cuda 开关paddle、pytorch 也有 cuda 配置docker/ 目录提供了各引擎的 GPU 镜像与一键构建脚本。本地文档数字化、截图文字提取、端侧离线识别这几类场景走pip 安装 5 行代码这条路径就能落地参数细节以 config.yaml 为准参与 Python 端开发的流程见 docs/CONTRIBUTING.md。【免费下载链接】RapidOCR Awesome OCR multiple programing languages toolkits based on ONNX Runtime, OpenVINO, MNN, PaddlePaddle, TensorRT and PyTorch.项目地址: https://gitcode.com/GitHub_Trending/ra/RapidOCR创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表