RapidOCR 入门指南:多语言 OCR 一条命令跑起来
【免费下载链接】RapidOCR📄 Awesome OCR multiple programing languages toolkits based on ONNX Runtime, OpenVINO, MNN, PaddlePaddle, TensorRT and PyTorch.项目地址: https://gitcode.com/GitHub_Trending/ra/RapidOCR
拿到一张带文字的图片,想快速把文字提取出来?RapidOCR 是一个免费开源的多语言文本识别工具,底层把 PaddleOCR 模型转成 ONNX 通用格式,支持 OnnxRuntime、OpenVINO、PaddlePaddle、TensorRT 等多种推理引擎,Windows、Linux、macOS 都能离线运行。这篇指南带你从安装到跑通,再到看懂代码结构。
先认清它:输入图片,输出文字
RapidOCR 干的事一句话能说清:给一张图片,还你文字内容、每段文字的坐标和置信度。
默认模型支持中英文,换成对应语言模型后还能识别日语、韩语、阿拉伯语等,仓库测试集里就有这些语言的样例图。它内部分三步走:检测模型找出文字区域,方向分类模型判断文字是否倒置,识别模型把字读出来。
装好之后,先跑最小示例。
📦 三步完成安装
最省事的方式是直接装 PyPI 上的包:
pip install rapidocr onnxruntime不用配 GPU,也不用手动下模型:首次识别时模型会自动下载并缓存在本地。如果你有 NPU、Apple 芯片,或者想用 TensorRT,docker/ 目录下每种推理引擎都配了现成的 Dockerfile,直接构建即可。
下一步,写五行代码识别第一张图。
五行代码识别第一张图
from rapidocr import RapidOCR engine = RapidOCR() result = engine("your_image.jpg") print(result) result.vis("vis_result.jpg")result是结构化对象:result.txts是识别出的文字,result.scores是置信度,result.boxes是坐标。result.vis()会把识别框画回原图并保存,方便你肉眼确认它认没认对。想直接看完整流程,python/demo.py 是官方示例,原样可运行。
跑通之后,再按需换语言、换引擎。
⚙️ 切换语言与推理引擎
两个最常用的进阶操作:
- 换语言:初始化时传 params 字典,覆盖配置里的
lang_type字段即可切换识别模型的语言:
engine = RapidOCR(params={"Rec": {"lang_type": "en"}})- 换引擎:修改 python/rapidocr/config.yaml 中 Det、Cls、Rec 三个段落下的
engine_type,从 onnxruntime 换成 paddle、openvino 或 tensorrt,业务代码一行不用动。
再附两个小开关:把return_word_box设为 true 可以拿到词级别坐标;方向分类阶段会自动处理倒置文字,横竖混排也能正常读出。
接下来看看这些能力对应代码里的哪些目录。
📁 从目录结构看它如何工作
核心就是三个目录加一个配置文件:
- python/rapidocr/ch_ppocr_det/:文本检测,负责定位图片里的文字区域
- python/rapidocr/ch_ppocr_rec/:文本识别,负责读出文字内容
- python/rapidocr/inference_engine/:六种推理引擎各占一个子目录,扩展或对比引擎都在这里
所有模型选择和引擎参数集中在 config.yaml 里,改行为不用翻代码。
调优建议与适用场景
调优记住三点:图片过大过小会自动缩放,文字清晰比盲目放大更有效;纯 CPU 环境保持默认 onnxruntime,有 NVIDIA 显卡建议切 tensorrt;出现漏字或误框时,优先调配置里的text_score阈值。
它适合这几类场景:纸质文档数字化,一条命令把扫描件变成可编辑文本;网页截图信息提取;给翻译工具提供文字输入;以及用 MNN 引擎部署到手机等边缘设备。
现在就执行一条pip install rapidocr onnxruntime,拿你手头任何一张带字的图片跑起来。
【免费下载链接】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),仅供参考