news 2026/9/20 21:35:08

RapidOCR 古籍识别实战:从竖排文字 OCR 扫描到可读文本

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
RapidOCR 古籍识别实战:从竖排文字 OCR 扫描到可读文本

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

RapidOCR 是一套支持 ONNX Runtime、OpenVINO、PaddlePaddle 等多种推理后端的开源 OCR 工具。本文以古籍 OCR 为背景,从实操者视角讲清三件事:竖排文字识别怎么跑起来、翻车时调哪些参数、哪些场景不必硬上。

先还原两个真实翻车现场

第一批翻车来自一沓泛黄带污渍的手稿扫描,正文从右往左竖排。默认流程直接跑,检测把相邻两栏合并成一个框,左侧细栏整条漏掉,识别输出不是乱码就是半截。第二个现场是繁体正文夹杂日文注脚的一页:繁体字被读成形近的简体,注脚日文直接输出乱串。

这两类问题不是"OCR 做不了古籍",而是默认参数按现代横排文档调的,古籍页面要单独处理。

安装并跑通第一页

先安装:

pip install rapidocr onnxruntime

再用仓库自带测试图跑四行代码:

from rapidocr import RapidOCR ocr = RapidOCR() result = ocr("python/tests/test_files/issue_170.png") print(result.txts, result.scores)

首次运行会自动下载对应模型到 python/rapidocr/models 目录;如需查阅源码,可克隆仓库 https://gitcode.com/GitHub_Trending/ra/RapidOCR 。

竖排检测参数怎么调、结果怎么读

竖排支持靠哪三步

流程是文本检测 → 方向分类 → 字符识别。古籍页面上,det 把每一竖排检成一个瘦高框;python/rapidocr/utils/process_img.py 里的裁剪步骤先把框透视矫正为水平条带,若条带高宽比 ≥ 1.5(明显是竖条),就旋转 90° 让竖排变横排再进识别;随后 cls 按 config 里的label_list: ["0", "180"]判定方向,把旋转后仍倒着的栏翻回来。所谓"竖排识别",就是裁剪旋转 + 方向分类 + 横排识别模型的组合,并没有独立的竖排模型。

config.yaml 里最常动的参数

都在 python/rapidocr/config.yaml 中,古籍场景最常碰这几个:

  • Det.box_thresh/Det.thresh:框置信度与二值图阈值,默认 0.5 和 0.3
  • Det.unclip_ratio:检测框扩张比例,默认 1.6
  • Det.limit_side_len:推理前短边尺寸,默认 736
  • Global.text_score:识别置信度过滤线,默认 0.5

另外Global.use_vertical_padding默认开启,对宽高远超 8:1 或高度不足 30 像素的图片做上下补边,属于极端比例扫描页的兜底。

结果字段怎么核对

返回值里result.txtsresult.scoresresult.boxes三者一一对应。加return_word_box=True可拿到字级框,python/tests/test_return_word.py 里有现成竖排用例:测试图 text_vertical_words.png 期望逐字输出"已取之時不參一人見而"。想肉眼核对框的位置,可用 CLI 的-vis参数存标注图,或用 python/rapidocr/utils/ 下的 to_json / to_markdown 直接导出。

要留意一点:输出顺序是检测顺序,不等于古籍从右往左的阅读顺序,栏序需要自己按框的 x 坐标排序。

上图这类旋转 180° 的页面正是 cls 环节的职责:方向分低于cls_thresh(默认 0.9)时保留原方向,足够高则翻转后再进识别。

症状 → 手段:三个高频坑位 🔧

坑位一:低分辨率模糊页漏字

扫描只有百余 DPI 时,模型输入本来就是糊的;预处理还会把长边压到Global.max_side_len(默认 2000),超清扫描件同样丢细节。对策分两步:原图尚可但检测"看不见"细栏时,调大Det.limit_side_len给检测器更大输入;原图很大时,调大Global.max_side_len避免过度缩小。调多少取决于页面尺寸,小批量试错是常态。

坑位二:繁体模型如何选择(繁简混排、日文混排)

默认识别模型是简体 ch 词表。纯繁体古籍改用params={"Rec.lang_type": "chinese_cht"},走独立繁体模型(python/rapidocr/default_models.yaml 中的 chinese_cht 条目);繁体占比高、版式杂的文献古籍,python/tests/test_rec_language.py 给了现成组合:Rec.lang_type = "ch_doc"加 server 档识别模型,它是带独立文献字典的 ch_doc 模型。中日混排页则先看默认配置——当前版本默认走 PP-OCRv6 多语言模型(模型名带multi_前缀),先按默认跑,个别日文行仍乱再单独把Rec.lang_type切到japan

坑位三:置信度偏低怎么调

score 低于text_score(默认 0.5)的整行会被直接过滤。担心漏行时,临时把Global.text_score降到 0.3 附近看全量再人工核对;担心误检则反向调高。注意阈值分两层:det 层的box_thresh/thresh决定"这一栏能不能被检出",rec 层的 score 决定"这一行字认得多有把握"。漏栏是检测问题,乱字是识别问题,分开调才有用。

RapidOCR 适合与不适合哪些古籍

适合:字迹尚清晰的竖排单栏扫描(简体、繁体均可),中日混排,横排现代文档,需要字级框、JSON / Markdown 导出的流程,以及多后端部署——onnxruntime、openvino、mnn、paddle、tensorrt、pytorch 后端齐全,见 python/rapidocr/inference_engine/ 目录。

不适合:残损严重、笔画缺失和透墨重的页面,隶书、行草等古典手写体与印章;也不负责阅读顺序还原——它只输出文字与框,从右往左的栏序、表格和多栏混排布局都要自己后处理。别指望置信度过滤替代人工校对,它只是帮你把低分行挑出来。

古籍数字化里,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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/20 21:33:25

AI编程助手选型指南:OpenClaw、Hermes Agent、Claude Code、Codex CLI对比与部署

1. 四款 AI 编程助手到底怎么选:先搞清楚它们各自是什么AI 编程工具在最近一年里几乎是爆发式增长,从最早的代码补全插件,到如今能独立完成多文件重构、跑测试、提交 PR 的 Agent 型工具,整个赛道已经分化出了非常明显的几条路线。…

作者头像 李华
网站建设 2026/9/20 21:32:56

小爱音箱音乐播放:把 NAS 里的无损音乐推给音箱

小爱音箱音乐播放:把 NAS 里的无损音乐推给音箱 【免费下载链接】xiaomusic 使用小爱音箱播放音乐,音乐使用 yt-dlp 下载。 项目地址: https://gitcode.com/GitHub_Trending/xia/xiaomusic 小爱音箱音乐播放是一个叫 xiaomusic 的开源项目。它把 …

作者头像 李华
网站建设 2026/9/20 21:32:28

智慧炼化厂建设全解析:从数据治理到模型优化的数字化转型路径

简介:这份110页PPT聚焦石油石化行业智慧炼化厂解决方案,面向炼化企业管理者、智能制造规划人员及行业咨询顾问。内容从数字化时代全面智慧化全景切入,系统梳理智能制造国家战略,并结合中石化、中石油等大型炼化企业实践&#xff0…

作者头像 李华
网站建设 2026/9/20 21:32:20

HVE Core SRE运维指南:从部署到事件响应的AI化流程

HVE Core SRE运维指南:从部署到事件响应的AI化流程 【免费下载链接】hve-core A refined collection of Hypervelocity Engineering components (instructions, prompts, agents, and skills) to start your project off right, or upgrade your existing projects …

作者头像 李华
网站建设 2026/9/20 21:25:51

AutoCut 批量剪辑视频完整指南:把 100 个视频变成一次脚本运行

AutoCut 批量剪辑视频完整指南:把 100 个视频变成一次脚本运行 【免费下载链接】autocut 用文本编辑器剪视频 项目地址: https://gitcode.com/GitHub_Trending/au/autocut AutoCut 是一款"用文本编辑剪辑视频"的视频自动化工具:它先把视…

作者头像 李华