扫描件 OCR 是什么
扫描件与图片进知识库前必须先把图像变成文本:OCR 负责字符识别,版面分析负责恢复阅读顺序与区域归属。中文场景常用 PaddleOCR 与轻量版 RapidOCR,通用文本可用 Tesseract(需安装中文语言包);多栏排版、表格与图注要靠版面分析把标题、段落、表格区域分开再分别处理。OCR 的错误率显著高于原生文本,数字与专有名词最容易错,所以按页抽检与关键字段校验是入库前的必要环节,不能省略。
基本信息
| 中文主力 | PaddleOCR、RapidOCR(轻量,部署简单) |
|---|---|
| 通用方案 | Tesseract,需安装 chi_sim 中文语言包 |
| 版面分析 | PP-Structure 一类模型,还原阅读顺序与表格区域 |
| 常见预处理 | 去噪、倾斜校正、二值化、提高分辨率 |
| 质检方式 | 按页抽检 + 关键字段(编号、金额)校验 |
| 主要风险 | 错误率高于原生文本,数字与专名最易错 |
典型使用场景
- 历史档案数字化:纸质合同、批文扫描后进入检索库
- 票据与单据:发票、报销单的编号与金额抽取
- 证照识别:营业执照、资质证书的结构化字段提取
- 书籍与手册:整本扫描后按章节切分入库
- 图文混排材料:正文加表格的版式还原
- 混合来源知识库:把扫描件与原生电子文档统一成同一套分块标准
预处理与识别
预处理与识别
# 先统一到高分辨率灰度图,再做去噪与倾斜校正
convert scan.png -density 300 -colorspace Gray -deskew 40% clean.png
# Tesseract 中文识别:--psm 6 按整块文本,多栏可试 --psm 4
tesseract clean.png out -l chi_sim+eng --psm 6
# 表格与文件连续页:先做版面分析取区域,再逐区域识别
# 识别结果必须抽检:抽查关键数字与编号字段是否与原件一致
head -n 20 out.txt识别故障排查顺序
| 现象 | 常见原因 | 处理方向 |
|---|---|---|
| 中文输出为空 | 未安装中文语言包或路径不对 | 安装 chi_sim 并确认 tessdata 位置 |
| 识别率骤降 | 图像倾斜、噪点多、分辨率过低 | 先做去噪、校正,再以 300dpi 重扫 |
| 表格串行错乱 | 缺少版面分析 | 用版面模型切出表格区域再逐块识别 |
| 数字识别错误 | 字体特殊或印迹模糊 | 关键数字人工复核,或换更强的识别引擎 |
| 阅读顺序颠倒 | 多栏排版未分栏 | 先做栏检测,再按栏输出 |
涉及金额、法规条款、编号的关键文档不要跳过人工抽检:OCR 错一个数字可能让整条检索结论失真,且很难在事后发现。
OCR 结果建议保留坐标信息(文本块位置),后续做表格重建与原文定位时可以直接引用,不必重新跑一遍识别。