RapidOCR 最小路径:2 条命令跑通 Python 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
从电商促销截图里把"9.9 元"和中文标语抠出来,或者处理日文产品说明书的批量扫描,通用 OCR 方案最常见的两处翻车是:中日文混排时语言模型切换不对,以及截图带透明通道时整段漏检。RapidOCR 是一个支持多语言文字检测与识别的开源 OCR 库,检测、分类、识别三级流水线均可本地离线运行,Python 端安装后两行代码即可调用。
🐍 Python OCR 环境搭建与首次调用
克隆仓库并安装 Python 组件:
git clone https://gitcode.com/GitHub_Trending/ra/RapidOCR cd RapidOCR/python pip install .上面的命令把 rapidocr 装进当前环境,依赖来自requirements.txt,模型文件不随包分发。
跑仓库自带的demo.py,验证整条链路:
# 等价于直接执行 python demo.py from rapidocr import RapidOCR engine = RapidOCR() result = engine("python/tests/test_files/ch_en_num.jpg") print(result)首次调用会自动从远端拉取 ONNX 模型,之后走本地缓存。仓库的 CLI 自检逻辑(cli.py中的check_install)以识别结果包含"正品促销"为通过标准,输出里出现这个片段和价格数字,就说明部署成功。
三个典型场景演示
提取日文与中文混排文字
日文场景下英文通用 OCR 基本不可用,而纯中文模型会输出乱码。
仓库为日文提供了独立的 PP-OCRv5 识别模型,配置里把Rec.lang_type设为japan并指定ocr_version为 PP-OCRv5,识别结果按日文原字输出。测试用例(python/tests/test_rec_language.py)断言的就是字符串精确匹配,说明输出是可复现的,不是近似结果。
识别透明背景上的白字
屏幕截图经常带透明通道,白字压在透明底上时,直接读图像数组会得到带 alpha 的像素,很多工具在这一步就把文本丢了。
RapidOCR 默认开启图像预处理(use_preprocess_img),对透明像素做背景填充后再送检测模型。测试目录里的白字透明图就是为这条链路准备的回归用例,文字行可以被完整框出并送识别。
检测图文混排海报中的文字
电商海报里文字、图形、价格标签挤在一起,检测模型容易漏掉小字号或低对比度的行。
检测默认参数下,主标题、价格数字和小号说明文字会分开框出,而不是被合并成一个大框。框的排序由结果对象统一处理,调用方不需要自己重排坐标。
识别精度不达标时的排查清单
部分文字行漏检→ 检测置信度卡掉了 → 调低 config.yaml 里Global.text_score(默认 0.5),或把 Det 段的box_thresh(默认 0.5)往下压一点再试。
非中英语言输出乱码→ 默认识别模型是中文(Rec.lang_type: ch)→ 在 Rec 段把lang_type换成目标语言(如japan、korean),同时ocr_version要切到 PP-OCRv5,语言模型的完整清单见 default_models.yaml。
旋转 180 度的图片识别结果乱码→ 方向分类置信度不足,图片未翻转就进了识别 → 确认use_cls为 true,cls_thresh默认 0.9;模糊图片建议先转正再调用。
模型下载慢或中断→ 默认清单里的模型都是远端 URL,首次调用时拉取 → 把模型文件放到本地目录,通过Global.model_root_dir指定路径,跳过下载。
小字、低分辨率内容识别差→ 识别输入被压缩 → 先对原图裁剪或放大目标区域再传入,比改模型参数有效。
文档与贡献入口
官方在线文档(中文)见仓库首页给出的 RapidOCRDocs 链接;仓库内的贡献指南在 docs/CONTRIBUTING.md,Docker 各推理引擎的部署说明在 docker/README.md。
问题反馈走仓库 Issue;各推理引擎(onnxruntime、openvino、paddle、pytorch、tensorrt、mnn)的完整参数都在 config.yaml 的EngineConfig段,每个模型条目在default_models.yaml中附带 SHA256 值,可自行校验模型文件完整性。
【免费下载链接】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),仅供参考