ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

3 步跑通 RapidOCR:古籍竖排文字 OCR 的完整实战记录

3 步跑通 RapidOCR:古籍竖排文字 OCR 的完整实战记录 3 步跑通 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 库正好把这个卡点跑通。两句话读明白 RapidOCR 的定位RapidOCR 是基于 PaddleOCR 模型权重、由 ONNX Runtime / OpenVINO / MNN / PaddlePaddle / TensorRT / PyTorch 做推理的轻量多平台 OCR 工具包不用装完整的 PaddlePaddle 全家桶。对古籍数字化它解决的核心问题是把竖排文字、繁体字、中日韩混排这类横排工具看不下去的页面变成带坐标框、文本和置信度的结构化结果。竖排文字背后的 3 个机制检测加自动旋转竖排行如何变可读python/rapidocr/utils/process_img.py 里有一处逻辑对古籍很关键文本行裁切后如果裁剪图高宽比 ≥ 1.5会自动旋转 90° 再送入识别模型。也就是说竖排行在裁出的瞬间被转正识别模型按横排处理不需要单独学竖排模式。多语言开关繁体、日文各有专门模型Rec.lang_type可以在中文默认模型和chinese_cht繁体、japan日文、korean韩文等之间切换。一个参数换掉整套识别模型和字典古籍里夹杂的日文、繁体页面都能直接覆盖。检测、分类、识别三步可独立开关管线是检测找文本行框→ 方向分类0°/180°→ 识别每一步都能用use_det/use_cls/use_rec单独关掉。只要框不要文字时省掉识别能省掉一大截耗时。三步跑出第一份识别结果 先装pip install rapidocr onnxruntime然后四行代码from rapidocr import RapidOCR engine RapidOCR() print(engine(shuji_sample.jpg).txts)首次运行会自动把检测、分类、识别三个模型下载到本地 models 目录之后就能离线跑。输出是文本行、行框、置信度三组对齐的数据能直接进数据库或校对表。竖排古籍整页走一遍完整链路输入一页线装书扫描件竖排、从右向左纸张有轻微污渍。关键配置默认值先别动box_thresh0.5、text_score0.5调用时加return_word_boxTrue打开词级框方便检查行切分是否干净。输出一组文本行加各自坐标框。行的先后按模型输出顺序给需要从右到左读时按框的水平中心坐标排一遍序即可不用等它自己保证顺序。一个注意点整页扫描字小时别把图缩得太狠笔画在降采样后糊掉识别模型也救不回来。宁可保持原始分辨率让检测模型自己按limit_side_len缩放。繁体日文混排页面怎么切换模型输入一页繁体中文夹日文汉字比如译注本古籍。关键配置engine RapidOCR(params{Rec.lang_type: japan})再按需调Rec.model_typemobile/server和Rec.ocr_version。输出单一语言页面用对应语言模型通常比通用中文模型更准。真混排的页面建议先用中文模型全量跑一遍把低置信度的行挑出来再用日文模型复跑替换。踩过的 3 个坑和绕法坑一扫描件方向不对手机拍古籍会带 EXIF 方向标记肉眼看着正、像素可能歪着。RapidOCR 读图时按 EXIF 自动修正方向同一个文件换到别的工具可能结果完全不同。交付前拿一张带方向标记的样图验证一下链路才算稳。坑二老化背景出误检框纸面污渍、霉点被检成文字。先把box_thresh调高比如 0.5 → 0.6 以上压误检如果压掉误检后发现淡字、残字漏检再微调unclip_ratio让框的外扩收敛一点。这两个旋钮方向相反小步调别一次拉满。坑三首跑下载模型和 CPU 速度首次运行要拉检测、分类、识别三套模型离线机器会卡住。可以把模型文件预先放到model_root_dir指定的目录再初始化。CPU 上嫌慢就把model_type降到tiny/mobile换速度server版留给精校环节。能做什么、不能做什么下一步怎么走RapidOCR 能做较干净古籍扫描件竖排为主含繁体和常见中日韩混排的文本行检测、识别与置信度输出。做不了古文字、异体字识别不是它的主场没有专门古文字模型栏区切分、横竖混排版面分析、文本对齐也要自己处理。下一步动作拿你自己古籍的 3-5 页样本先默认配置跑一遍把置信度低于 0.7 的行整理成复核清单再对着清单调text_score和box_thresh——这是把识别准确率提上去最快的路径。全部参数含义可查 python/rapidocr/config.yaml。【免费下载链接】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),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进