如何用RapidOCR识别多语言图片文字:3步跑通指南
2026/9/20 22:02:11 网站建设 项目流程

如何用RapidOCR识别多语言图片文字:3步跑通指南

【免费下载链接】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(Optical Character Recognition,即从图片里识别文字)工具。它接收一张图片,输出文字框坐标、文字内容和置信度。装好后模型会自动下载,本机几分钟内就能跑起来。读完这篇,你能在本机识别出第一张图片里的文字。

它基于 PaddleOCR 模型、OnnxRuntime 和 OpenVINO,专门做多语言 OCR。第一点,它默认带 ONNX 模型,不用装 PaddlePaddle 框架(百度的深度学习框架),装完包就能识别。第二点,推理后端(真正运行模型的组件)可在 OnnxRuntime、OpenVINO、TensorRT 之间切换,适配不同硬件。默认配置会依次跑检测、方向分类、识别三步。

📥 五分钟跑通:安装与第一次识别

RapidOCR 安装只需要一条命令:

pip install rapidocr # 从 PyPI 安装 RapidOCR 及其全部依赖

源码开发可以改从仓库源码安装,日常使用 pip 装就够了。装完还会带上 rapidocr 命令,终端里用 rapidocr --img 你的图片.jpg 也能直接识别。模型文件在第一次识别时自动下载。这段代码识别一张本地图片并打印结果:

from rapidocr import RapidOCR engine = RapidOCR() print(engine("your_image.jpg")) # 改成你自己的图片路径

运行后你应看到一个 RapidOCROutput 对象:txts 字段是识别出的文字,scores 是每行置信度,boxes 是各文字框的坐标。

🧩 按需使用

下面三个场景覆盖了 RapidOCR 使用教程里最常见的需求。

当你要识别日文、韩文、阿拉伯文等非中文时

RapidOCR 多语言识别的模型按语言区分,默认是中文模型(ch)。这段把识别模型切成日文:

engine = RapidOCR(params={"Rec.lang_type": "japan"}) result = engine("japan.jpg") print(result.txts)

仓库自带的日语示例图,夹杂少量中文,适合验证 japan 模型的识别效果

如果切换后识别结果还是乱码,通常是Rec.lang_type没设对,仍在使用中文模型,把它重新设成目标语言即可。

处理纯文本图片

如果你的输入已经是单行文字裁剪图,就不必再做检测和方向分类,关掉它们可以省时间。这段关闭检测后直接识别:

result = engine("text_crop.jpg", use_det=False, use_cls=False) print(result.txts)

单行横排文字图,适合验证关闭检测后的纯识别模式

如果结果为空或乱码,通常是图里其实有多行文字或背景杂色,把use_det改回True即可。

当你要导出和可视化识别结果时

想把结果存成文件、或检查文字框位置时,结果对象自带导出和可视化方法。这段保存一张带框和文字的图片,并导出 JSON:

result = engine("doc.jpg") result.vis("vis_result.jpg") # 保存可视化图片 print(result.to_json()) # 或导出 JSON

如果vis()没存出文件而是给出警告,通常是检测结果为空(boxes 为 None),检查图片里是否真有文字即可。

架构速览:数据怎么流的

RapidOCR 的数据流走三步:先由检测模块定位文字框,方向分类(区分横排竖排)把裁剪图转正,再由识别模块完成文字识别。全程阈值在 python/rapidocr/config.yaml 里,也可以在引擎构造函数的 params 中覆盖。三个模型按需加载,跳过检测就不会加载检测模型。

🛠️ 调优与避坑

下面是三个常见的 RapidOCR 调优问题,都能靠参数解决:

  • 误检多,把非文字也识别出来→ 检测阈值box_thresh默认 0.5,文字框外扩系数unclip_ratio默认 1.6,复杂背景下容易被框进来 → 调用时调高阈值,如engine(img, box_thresh=0.7)
  • 结果偏少、漏字→ 结果过滤参数text_score默认 0.5,置信度低于它的行会被丢弃 → 降到 0.3,如engine(img, text_score=0.3)
  • 大图推理偏慢→ 预处理默认max_side_len为 2000,大图会先缩放到 2000px 以内再检测 → 网页截图这类场景可在配置里写Global.max_side_len: 1500

下一步,把示例脚本改成遍历你目录下的所有 jpg,循环调用 engine 批量识别。结果不符合预期时,先到 docs/ 里查参数说明。

【免费下载链接】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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询