news 2026/9/20 4:04:38

古籍 OCR 怎么做?RapidOCR 一条命令识别竖排古籍,从安装到调参完整指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
古籍 OCR 怎么做?RapidOCR 一条命令识别竖排古籍,从安装到调参完整指南

古籍 OCR 怎么做?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

手头有一批扫描的古籍图片,想批量把文字提出来存档,但竖排版式、繁体字和纸面污渍让普通 OCR 工具频繁翻车?RapidOCR 是一个开源免费的轻量 OCR 库,把 PaddleOCR 模型转成 ONNX 等通用格式,基于 ONNX Runtime 和 OpenVINO 推理,可以完全离线运行。默认支持中英文识别,也覆盖多语言模型。它适合古籍数字化、文档批量提取文字的场景,使用者从个人研究者到工程集成团队都能用。

📜 一批扫描古籍要提文字,RapidOCR 能做到什么

把场景具体化:一批老书扫描图,每页几十行竖排繁体字,夹杂少量批注,目标是导出可编辑的文本。

  • 竖排文字能跑通:识别环节支持竖排文字,预处理阶段会自动做竖排补边(use_vertical_padding默认开启),短小的文本行也能稳定进入识别流程,仓库测试集里就有竖排古籍图片text_vertical_words.png专门验证这一场景。
  • 不止横排印刷体:除了中文简体/繁体和英文,还内置日文、韩文、阿拉伯文、泰文等多语言模型(模型清单见仓库文档),混排页面可以按语言分别跑。
  • 不绑死在服务器:同一套模型可以在 Linux、Windows、Mac 上离线推理,Python 之外还有 C++、Java、C# 等语言的独立组件库,方便嵌进现有系统。

🚀 一条命令装好 RapidOCR 环境

Python 3.8 及以上版本,终端执行:

pip install rapidocr onnxruntime

安装后模型会随库自动下载,无需额外配置。最小可运行的识别脚本如下(python/demo.py 里有同样的示例):

from rapidocr import RapidOCR engine = RapidOCR() result = engine("book_page_001.jpg") # 换成你的古籍图片路径 print(result) # 文本、坐标框、置信度 result.vis("vis_result.jpg") # 保存带标注框的可视化图

print出来的结果包含每行文字、对应的坐标框和置信度分数,vis生成的图可以用来肉眼核对框的位置。

🔤 竖排、繁体和多语言混合:识别能力拆解

竖排文字怎么进识别流程

古籍一列字往往又窄又长,直接切出来喂给模型效果差。RapidOCR 的预处理会对短文本做竖向 padding 补齐,配置项width_height_ratio(默认 8)控制补齐后的宽高比。仓库测试文件 text_vertical_words.png 就是一页竖排字,跑一遍能按行输出识别结果。经验值:扫描件先整页识别,框准了再按列人工归并,比手动切列更省事。

繁体与多语言混合文本

默认模型lang_typech,覆盖繁简体混排;遇到日文夹杂的页面,把对应模块的lang_type切到日文模型即可。下面这张日文混合文本的测试图(japan.jpg)就是仓库用来验证多语言识别的样例:

古籍 OCR 准确率对清晰印刷体通常可以到 95% 以上,但手写批注、墨迹粘连的页会明显下降——这类页面建议单独人工处理,而不是调参硬扛。

多平台部署,同一套模型通用

ONNX 格式的模型是核心:Python 包之外,C++(NCNN)、Java、C# 各有独立的移植仓库(见仓库内 cpp/、jvm/、dotnet/ 目录说明),推理引擎可选 ONNX Runtime、OpenVINO、TensorRT、MNN、PaddlePaddle、PyTorch,docker/ 目录为每种引擎都提供了现成的 Dockerfile。Windows、Mac、Linux 三个平台行为一致,适合"Mac 上开发、Linux 服务器跑批"的工作流。

⚙️ config.yaml 里哪些参数值得改

所有可调参数集中在 config.yaml,分Global(总开关与预处理)、Det(检测)、Cls(方向分类)、Rec(识别)四段。常用改动只有三处:

  • Det.box_thresh(默认 0.5):文字框置信度门槛。古籍扫描件背景脏、检出一堆假框时调高到 0.6~0.7;漏检多则调低。
  • Global.text_score(默认 0.5):识别文本的置信度过滤线,分数低于它的行会被丢弃,想保留低质量行再人工复核就调低。
  • Det.limit_side_len(默认 736):检测图最长边缩放上限。整页高清扫描件(长边超过 2000 像素)处理慢时调小可明显提速,代价是细小文字的检出率略降。

另外Global.use_cls: true建议保持开启,它负责纠正旋转 180° 的文字行——手机随手翻拍的古籍照片经常是倒过来的。

🛠️ 避坑与实操建议

  • 扫描件发灰、有污渍 → 先去噪增强再喂给 OCR。对比度差的老书页,用 OpenCV 做二值化或灰度增强后再识别,检出的框会干净很多;use_preprocess_img默认开启,短边小于 30 像素的碎片图会被自动丢弃,避免无意义结果。
  • 结果顺序乱、带坐标残留 → 后处理做格式化。打印出来的结果是按行分段的,竖排古籍需要自己按"从右到左、从上到下"的规则重排行序,再转成纯文本或 Markdown;导出前把坐标框、置信度字段剥掉。
  • 低置信度行不要直接入库 → 人工抽检校对。每行都有text_score分数,把低于 0.7 的行单独列出来过一遍,比全量通读快得多;模糊到整页不可读的部分,宁可标记为"待人工转录"。

适用边界说明

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

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

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

ChatTTS-ui 本地部署教程:三步跑通语音合成服务,含 API 接入

ChatTTS-ui 本地部署教程:三步跑通语音合成服务,含 API 接入 【免费下载链接】ChatTTS-ui 一个简单的本地网页界面,使用ChatTTS将文字合成为语音,同时支持对外提供API接口。A simple native web interface that uses ChatTTS to s…

作者头像 李华
网站建设 2026/9/20 4:00:38

用 Evidently 给数据做体检:缺失值、重复值、异常值一次查清

用 Evidently 给数据做体检:缺失值、重复值、异常值一次查清 【免费下载链接】evidently Evidently is ​​an open-source ML and LLM observability framework. Evaluate, test, and monitor any AI-powered system or data pipeline. From tabular data to Gen A…

作者头像 李华
网站建设 2026/9/20 3:58:43

Codex + MCP 配置实战指南:从环境搭建到工具接入

我最早接触 Codex 是通过命令行跑一个小任务:把仓库里的几段重复代码抽成公共函数。原本预期它和普通补全工具差不多,结果它在没有我手动改文件的情况下,自己完成了重构、跑了测试、还顺手改了文档格式。当时我就意识到,这东西的真…

作者头像 李华
网站建设 2026/9/20 3:57:10

Windows软件卸载残留怎么办?注册表与Installer清理完全指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

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

Matlab蒙特卡洛模拟熔池晶粒生长:Potts模型实现与晶粒尺寸统计

很多人第一次听到“蒙特卡洛模拟熔池晶粒生长”这个组合,会觉得又是蒙特卡洛、又是熔池、又是晶粒长大的,门槛肯定不低。但只要你在Matlab里把Potts模型的框架搭过一次,再把晶粒尺寸、晶粒数目这些统计指标用脚本跑出来,就会明白这…

作者头像 李华