RapidOCR 古籍 OCR 实战:竖排文字识别与快速部署完整指南
2026/9/20 19:56:38 网站建设 项目流程

RapidOCR 古籍 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

📖 先说结论,再跑起来

古籍数字化 OCR 绕不开两个词:竖排和离线。RapidOCR 是一个完全开源免费的 OCR 工具包,基于 ONNX Runtime、OpenVINO、MNN、PaddlePaddle 等主流推理引擎(人话:不管你这台机器是什么硬件,它都能跑),默认支持中英文识别,还能处理繁体和日文书法体。它适合两类人:要把古籍扫描件批量转成文本的开发者,和只是想先看到识别效果的普通用户。

🚀 最快环境搭建:一条命令装好

不想折腾推理环境的话,CPU 上跑 ONNX Runtime 是最短路径。一条安装命令搞定:

pip install rapidocr onnxruntime

🐍 一次最小调用

装完直接写三行代码。第一次调用时,它会自动把默认模型下载到本地缓存,之后就是纯离线推理,不会再联网:

from rapidocr import RapidOCR engine = RapidOCR() result = engine("你的古籍图片路径.jpg") print(result)

结果里每行文字都带四角坐标框和置信度,拿坐标就能做版面还原。想要更直观的图,把 demo 脚本 里的result.vis("vis_result.jpg")加上,识别框会直接画回原图。

🧩 能力盘点:它能帮你解决哪件具体的事

别背参数表,直接看每个能力和古籍场景的对应关系:

它能做的事对古籍场景意味着什么
竖排文字检测与逐字框输出古籍正文是一列一列的,打开return_word_box=True后,识别结果逐字返回、每字带独立坐标框,做对齐和校对时不用再猜
识别模型按语言切换繁体古籍把Rec.lang_type设为chinese_cht即可换用繁体识别模型,代码路径见 识别模块
检测 → 方向分类 → 识别的三级流水线可单独开关拍歪的书页由方向分类模型自动转正;只要版面定位不要文字时,关掉识别还能省时间
六个推理引擎任选(onnxruntime / openvino / paddle / pytorch / tensorrt / mnn)办公电脑用 ONNX,服务器批量跑可以换 TensorRT,配置都写在 python/rapidocr/config.yaml
结果可导出 JSON、Markdown批量转文本后直接落盘成结构化文件,方便喂给后续检索

🔍 场景走通:透明底书法图逐字识别

拿项目自带的测试图走一遍真实流程:这张图是透明底、黑色字体的「我是中国人」,模拟古籍局部扫描件。

调用时只需多传一个参数:

result = engine("python/tests/test_files/black_font_color_transparent.png", return_word_box=True)

项目的测试用例 tests/test_return_word.py 断言的就是这个场景:五个字逐字命中,每个字都能取到独立的字框。竖排图同理,测试集里的text_vertical_words.png跑出来是「已取之時不參一人見而」,一字不差——这就是古籍逐字对齐的底气。

⚠️ 避坑与调优

跑起来之后,这四个参数是你最可能要动的:

  • 首次运行卡住?那是模型在下载,确认网络通畅;完全离线的机器用rapidocr download_models提前拉好模型,或用model_root_dir指定本地模型目录。
  • 图片尺寸有边界:预处理会把图片压缩或放大到min_side_len: 30~max_side_len: 2000之间,原图坐标会自动映射回去。所以古籍扫描件建议 1200px 以上再喂进去,别让模型替你放大。
  • 漏检还是误检,调不同的旋钮:漏文字行就调低检测的box_thresh(默认 0.5)或调大unclip_ratio(默认 1.6,控制框向外扩张的幅度);反过来冒出很多噪点框,就调高text_score(默认 0.5)过滤低置信度结果。
  • 竖排别关方向分类use_cls: true默认是开着的,它负责把歪斜的文本行转正,古籍拍摄件务必保留这一步。

✅ 收个尾

一句话总结:古籍 OCR 的活儿,就是"装包、调引擎、拧参数"三件事,RapidOCR 把前两件的门槛压到了一条命令。下一步就一个动作:拿你手上最糊的一页书跑一遍return_word_box=True,看逐字框的置信度分布——哪里低,哪里就是你接下来要调的地方。

项目源码在 https://gitcode.com/GitHub_Trending/ra/RapidOCR ,需要对照实现细节时直接 clone 下来翻python/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),仅供参考

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

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

立即咨询