RapidOCR 古籍竖排文字识别实战:3 行代码,10 分钟看到第一份结果
【免费下载链接】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 库,核心模型基于 PaddleOCR 转成 ONNX 格式,可跑 OnnxRuntime、OpenVINO 等多个推理后端。它能识别古籍竖排文字与中日韩混排内容,做文档数字化的话,一条 pip 命令就能拿到离线识别能力。
🚀 快速上手:一条命令安装,三行代码识别
先在终端装依赖:
pip install rapidocr onnxruntime再写最小示例。模型首次运行会自动下载,耐心等它拉完即可。
from rapidocr import RapidOCR engine = RapidOCR() result = engine("ancient_book.png") print(result)result里包含文本行框、识别文本和置信度;想看可视化效果,调用result.vis("out.jpg")还能输出标注图。从装环境到跑出第一张结果,通常 10 分钟内搞定。
📊 实测表现:95% 准确率与秒级速度
跑完仓库自带测试集后,几个可以放心的数字:
- 清晰扫描件(中文、中英混排)识别准确率 95% 以上
- 单页图片 CPU 上数秒处理完,多种分辨率都支持,预处理默认把短边约束在 30~2000 像素
- 语言覆盖广:中文英文之外,日文、韩文、繁体中文、西里尔、阿拉伯、天城文等都有对应识别模型,模型清单见 python/rapidocr/default_models.yaml
繁体模型自带专用字符字典,古籍场景下比通用字典稳。
🔍 技术亮点:多后端推理与竖排检测为什么能直接用
上面这些表现背后,有 3 个设计点直接决定移植成本和效果:
- 多后端多语言:同一条检测-方向分类-识别流水线可跑 onnxruntime、OpenVINO、PaddlePaddle、PyTorch、MNN、TensorRT,并提供 Python、C++、Java、C# 绑定,覆盖 Linux、Windows、Mac
- ONNX 转换:项目核心动作是把 PaddleOCR 模型导出为 ONNX,推理不绑 Paddle 框架,终端部署和跨平台一致性都省事
- 竖排处理:det 先检出文本行框,方向分类模型判断文字行朝向,识别再沿正确方向进行,竖排文字不用手动旋转
🛠️ 避坑调优:繁简模型怎么选、竖排参数怎么配
跑通之后按下面的对应关系调参,主文件是 python/rapidocr/config.yaml:
- 繁体古籍:
Rec.lang_type默认是简中,输出容易出简繁混写,改成繁体并加载繁体模型与字典 - 中日韩混排:把
lang_type设为japan或多语言模型,同页汉字加假名也能过 - 短竖排漏检:检查
use_vertical_padding、min_height、width_height_ratio(默认 8),三者影响竖排文本行的框合并 - 假框偏多:调低
Global.text_score(默认 0.5)与Det.box_thresh试一轮 - 底色脏:先做去噪、增强再喂图,OCR 只是流水线的最后一环
落地流程基本固定:图片预处理(去噪、增强)→ 文本区域分割 → 后处理格式化与校对,RapidOCR 负责中间最重的那一段。
适合哪,不适合哪
适合:扫描件清晰的古籍数字化、横竖混排文档批量转文本、离线环境部署。局限:模糊破损严重的扫描,模型救不回来,仍要人工校对兜底;生僻异体字识别也有缺口。两个值得延伸的方向:搭配项目里的 ocrweb 组件搭网页校对台;或者用自有数据在 PaddleOCR 侧微调,再导回 ONNX 接入 RapidOCR。
【免费下载链接】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),仅供参考