RapidOCR 古籍数字化实战3 行代码跑通竖排古籍页【免费下载链接】RapidOCR Awesome OCR multiple programing languages toolkits based on ONNX Runtime, OpenVINO, MNN, PaddlePaddle, TensorRT and PyTorch.项目地址: https://gitcode.com/GitHub_Trending/ra/RapidOCRRapidOCR 是基于 PaddleOCR 模型的 OCR 库可在 ONNX Runtime一种跨平台模型格式等引擎上运行。文章以古籍数字化为场景拆解竖排版式、繁体用字、扫描劣化三个常见问题。整条识别链路分三步检测模型先找到文字行、输出带倾斜的文本框方向分类模型修正倒置或转了向的文字行识别模型再把每条文字行转成文本。下面所有配置都是围绕这三步在古籍页面上会出什么问题、怎么调来讲的。 竖排文字识别原理把竖列转成横的很多人以为竖排需要专门的竖排模型RapidOCR 的做法更直接不单独加模型靠检测后的旋转解决。古籍的竖列被检测到时是宽高比上高大于宽的瘦高框。裁剪文字区域时如果裁剪图的高宽比 ≥ 1.5代码会自动把裁剪图旋转 90°让它变成横排再送进识别模型逻辑在 process_img.py 里。方向分类环节再判断每条文字行是 0° 还是 180°置信度高于 0.9 才旋转避免把正常行转坏。识别框最后会映射回原图坐标下游拿框做校对、区域裁切时不用再换算。这是一套很务实的竖排文字识别方案识别模型永远只见到横排文字行所以模型参数完全不用为竖排做改动。需要逐字校对时还可以把return_word_box打开拿到字级别的框。 RapidOCR 安装使用3 行代码跑通环境准备就一行命令pip install rapidocr onnxruntime默认配置是 PP-OCRv6 小规格中文模型加 ONNX Runtime 引擎不用手动改配置文件首次运行时模型文件会自动下载并做 SHA256 校验。它在古籍 OCR 工具推荐里常被提起就是因为全程本地运行不需要部署任何服务。最小可运行的调用from rapidocr import RapidOCR engine RapidOCR() result engine(古籍样本.jpg) print(result.txts) # 每条文字行的识别结果 result.vis(vis_result.png) # 保存带框可视化图供校对几个省事的细节引擎是懒加载的模型只在实际调用时初始化脚本里先创建对象、后按需跑图很合适。繁体古籍不用改配置文件直接传参RapidOCR(params{Rec.lang_type: chinese_cht})。完整参数在 config.yaml想换推理引擎OpenVINO、TensorRT、PaddlePaddle 等改对应任务下的engine_type即可各引擎封装在 inference_engine 目录。命令行一条搞定rapidocr -img 样本.jpg -vis识别并直接存下可视化图。 繁体古籍与异体字换识别语言就行古籍文字识别准确率最大的变量是用字体系同一个字形简繁两套标准写法不同。RapidOCR 用独立语言模型处理这件事lang_type支持ch简中、chinese_cht繁中、ch_doc文档场景等各自带独立的字符字典和可视化字体资源。PP-OCRv6 系列是多语言模型覆盖日韩等 40 多种语言model_resolver.py 按任务 版本 语言 规格自动解析出对应模型文件不用自己去挑哪个 onnx。每行识别结果都带置信度scores默认text_score0.5会滤掉低置信行人工校对时重点看剩下和贴线的行即可。异体字、俗写字没有专门模型务实做法是保留文本框后接字典替换或按行人工修正别指望一步到位。 扫描页的坑倒置、倾斜与超大图数字化项目的输入质量由扫描件决定倒置、倾斜、超大图是最常见的三种情况拍照的 EXIF 旋转信息可能丢失文字整行倒过来cls 环节按 0°/180° 纠偏方向对了这行字就能正常进识别。图片宽高比超过 8比如单独裁出来的一长条竖列时会先按 letterbox 补黑边再检测由use_vertical_padding控制窄图不会因为比例失衡漏检。最长边超过 2000 像素时先缩放再推理识别框事后映射回原图坐标高分辨率扫描直接丢进去就行框依然对得上原图位置。遇到空白页、无文字页引擎会返回空结果而不是报错批量脚本里判一下len(result) 0就能跳过。 中日韩混排的古籍多语言识别方案古籍目录、批注、题签里经常出现中文、日文汉字、西文和数字混排的情况单一语言模型覆盖不全。检测模型本身用的是多语言版 multi_PP-OCRv6_det混排页面找框不挑语言主要调识别端样本以日文为主就把Rec.lang_type设为japan混排页面用默认ch把低置信的日文行挑出来逐行修正。另外框是按检测顺序返回的竖排从右往左读时拼接成通读文本前要自己按 x 坐标从大到小排一遍列序。下一步建议先裁一页繁体竖排样本用Rec.lang_type: chinese_cht初始化引擎跑通确认可视化图里每个竖列单独成框、低置信行不多再改个循环脚本批量处理整部书。【免费下载链接】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),仅供参考