RapidOCR 快速上手指南:3 步装好开源 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 是一个完全开源免费的 OCR 文字识别工具包,一行命令装完就能跑,默认支持中、英、日等语言识别,全程离线、不上传你的图片。
3 步跑起来
先确认环境:Python 3.8 及以上(3.8~3.13 均可),Windows、macOS、Linux 都支持,其他什么都不用装。
安装只需一行:
pip install rapidocr onnxruntime然后写 4 行代码验证,图片换成你自己的路径即可(用仓库里的测试图直接试也行):
from rapidocr import RapidOCR engine = RapidOCR() result = engine("python/tests/test_files/japan.jpg") print(result)打印出每个文本框的坐标、文字内容和置信度,就说明装好了。比如对下面这张测试图,它会输出"春分""浙江省"等一行行识别结果:
它是怎么工作的
RapidOCR 的思路很简单:把百度 PaddleOCR 训练的模型,转成兼容性极高的 ONNX 格式。你可以把 ONNX 理解为模型的"万能转接头"——训练框架产出的模型插进这个转接头,就能插到任何推理引擎上。
推理引擎就是"跑模型的流水线"。ONNX Runtime 是默认引擎,装完即可用;同一套 ONNX 模型还能换 OpenVINO、TensorRT、MNN、PaddlePaddle、PyTorch 等引擎,按硬件选最顺的那条流水线,比如 Intel 显卡选 OpenVINO,NVIDIA 显卡选 TensorRT 或 GPU 版 ONNX Runtime。
| 技术 | 一句话作用 |
|---|---|
| PaddleOCR | 模型训练来源 |
| ONNX 格式 | 模型的通用转接头 |
| ONNX Runtime | 默认推理引擎 |
| 多引擎支持 | 按硬件换流水线 |
引擎的具体实现代码在 python/rapidocr/inference_engine/ 下,想看哪种引擎怎么接,直接翻对应目录就行。
按语言选对安装入口
Python 是主仓库,其他语言已拆成独立仓库,入口都在本仓库对应目录的说明里:
| 语言/平台 | 入口 | 适用场景 |
|---|---|---|
| Python | pip install rapidocr onnxruntime | 开发、服务部署、快速验证 |
| C++ | 独立仓库(见 cpp/) | 桌面程序、嵌入式 |
| Java/JVM | 独立仓库(见 jvm/) | Android、企业后端 |
| C#/.NET | 独立仓库(见 dotnet/) | Windows 桌面应用 |
| Web/移动端 | 独立仓库(见 ocrweb/、android/) | 浏览器、App 内识别 |
不想折腾环境的话,仓库还预置了各引擎的 Docker 镜像,docker/README.md 里make build-onnxruntime-cpu一条命令就能起好开发环境,模型还会自动缓存,不用重复下载。
这些坑别踩
首次识别特别慢→ 原因是第一次调用会自动下载 ONNX 模型 → 保证网络畅通,模型会缓存到rapidocr/models/目录,之后就快了;离线环境可提前联网跑一次。
教程代码from rapidocr_onnxruntime import RapidOCR报 ImportError→ 那是旧版包名,新项目已改名 → 安装rapidocr+onnxruntime,导入用from rapidocr import RapidOCR。
装了 GPU 版反而报错→ 常因onnxruntime和onnxruntime-gpu两个包装在一起打架 → 先pip uninstall清干净,只装你要用的那一个。
阿拉伯文、希伯来文等从右往左的文字识别顺序乱→ 缺右到左排版依赖 → 执行pip install "rapidocr[rtl]"补上。
下一步做什么
- 想换识别语言或指定模型,看 python/rapidocr/config.yaml 里的配置项,支持的语言清单在官方模型列表文档。
- 想本地起个网页版识别界面,直接翻 ocrweb/ 对应的独立仓库。
- 遇到 bug 或有定制微调需求(用 PaddleOCR 微调后再部署),可以提 Issue 反馈,开发流程说明见 docs/CONTRIBUTING-CN.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),仅供参考