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 文字识别工具包,把文字检测、识别和离线部署都放进你自己的机器里,运行时不依赖任何云端 API。它基于 ONNX Runtime、OpenVINO、PaddlePaddle、TensorRT、PyTorch 等主流推理引擎,内置十余种语言模型,适合需要本地文字识别、或想把 OCR 能力嵌进自己项目的开发者和普通用户。
⚡ 5分钟装好 RapidOCR 并完成第一次识别
一条命令安装依赖
你只需要安装两个包,不用预先下载模型。首次运行时,所需模型会自动拉到本地的 models 目录:
pip install rapidocr onnxruntime五写行脚本,跑出识别结果
下面这段脚本完成三件事:初始化引擎、传入图片、拿到结果。初始化引擎≈给识别流程点火,之后的每次调用都是离线完成的:
from rapidocr import RapidOCR engine = RapidOCR() result = engine("test.jpg") print(result) result.vis("vis_result.jpg")result里包含每段文字的内容、置信度和所在位置的框,result.vis一行就能存出带框标注的可视化图片。第一次调用会触发模型下载,稍等片刻即可;之后无论断网与否,识别照常进行。
3个真实场景实战
批量处理一整个目录的图片
想批量识别一文件夹截图时,记住一点:引擎实例是可复用的。你循环遍历文件名、逐张调用engine(img)即可,每张图返回自己的文本、置信度和位置框,攒起来写进 CSV 或 Markdown 就是完整结果。结果对象里还有各步骤耗时(elapse_list),哪一步慢一目了然。仓库自带测试图片,就在 python/tests/test_files/,可以直接拿来练手:
一键切换识别语言
默认配置面向中英文混排。要识别日文、韩文等其他文字,只需在初始化时用params指定语言,对应模型会自动下载:
japan_engine = RapidOCR(params={"Rec.lang_type": "japan"}) result = japan_engine("japan.jpg")常用语言编码如下:
| 编码 | 语言 |
|---|---|
ch | 中文(默认) |
en | 英文 |
japan | 日文 |
korean | 韩文 |
latin | 拉丁字母 |
cyrillic | 西里尔字母 |
arabic | 阿拉伯文 |
th | 泰文 |
完整清单见 utils/typings.py。拿一张日文图试试效果:
终端免代码识别
装完rapidocr包后自带命令行入口,终端里直接给图出结果,-vis参数会同时保存带框标注的图:
rapidocr -img test.jpg --lang_type japan -vis常用选项:--text_score 0.7调整置信度门槛,-word额外返回单词级框。
按影响分类调参:速度、精度、置信度
参数可以在三个地方给:初始化引擎时(params)、每次调用时(如engine(img, text_score=0.7))、或整体改配置文件 config.yaml。常用参数按"它影响什么"归了个类:
| 影响面 | 参数 | 默认值 | 说明 |
|---|---|---|---|
| 速度 vs 精度 | Det.model_type/Rec.model_type | small | tiny最小最快,medium精度最高 |
| 模型代际 | ocr_version | PP-OCRv6 | 版本越新精度越好,模型略大 |
| 结果过滤 | Global.text_score | 0.5 | 调低保留更多结果,调高过滤低置信度文字 |
| 流程开关 | use_det/use_cls/use_rec | true | 整张图都是文字时可跳过检测,省时间 |
| 单词级框 | return_word_box | false | 打开后额外返回每个单词的框 |
| GPU 加速 | EngineConfig.onnxruntime.use_cuda | false | 打开走 GPU,用device_id指定显卡 |
识别流程本身是三段流水线:检测负责找到文字在哪,分类负责纠正颠倒的文字,识别负责读出内容。三段都可以单独开关和调参。
内部结构速览
Python 主体在 python/rapidocr/:ch_ppocr_det、ch_ppocr_cls、ch_ppocr_rec三个目录对应检测、分类、识别三段,inference_engine/封装了六套推理引擎,main.py 负责把整条流水线串起来。测试用例在 python/tests/,各引擎的一键镜像环境在 docker/,C++、Java 等其他语言组件在 cpp/、jvm/ 等子目录提供入口说明。
写在最后
RapidOCR 把原本要自己训练、部署的完整 OCR 流水线压缩成一次导入,加上离线运行、多语言和多引擎兼容,是本地文字识别很省心的地基。更多细节可以翻 README-CN.md 和 python/ 下的源码。
【免费下载链接】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),仅供参考