一、先搞懂:什么是 OCR?
OCR(Optical Character Recognition,光学字符识别),简单说就是从图片 / 扫描件里把文字 “读” 出来的技术。
- 输入:图片、PDF 扫描件、截图、手写稿
- 输出:可编辑的纯文本(甚至可以带坐标、格式信息)
1. 为什么我们做项目时,需要 OCR + 大模型融合?
很多企业场景里,用户的文档是扫描件 / 图片格式(比如合同、发票、老档案),直接丢给大模型是没法处理的,因为模型读不懂图片里的文字。 所以需要两步走:
- OCR:先把图片里的文字提取出来,变成纯文本
- 大模型:再对提取出来的文本进行问答、摘要、分析
这就是工业界最常用的「OCR + 大模型」融合方案,也是你后续多模态文档问答项目的核心基础。
二、OCR + 大模型融合的完整流程
- 文档输入:用户上传图片 / 扫描件 PDF
- OCR 解析:
- 调用 OCR 工具,提取图片中的文字、坐标、格式信息
- 输出结构化文本(比如按段落 / 表格 / 标题分块)
- 文本预处理:清洗 OCR 识别错误(比如错别字、乱码、格式混乱)
- 输入大模型:把清洗后的文本 + 用户问题,拼接成 prompt,交给大模型处理
- 输出结果:大模型根据文本生成回答,比如摘要、问答、表格提取
三、常用的 OCR 工具(按项目场景推荐)
表格
| 工具 | 特点 | 适用场景 |
|---|---|---|
| PaddleOCR(百度开源) | 中文识别效果好,支持表格 / 手写体,可本地部署 | 项目实战首选,免费开源 |
| Tesseract | 老牌开源 OCR,多语言支持好,中文效果一般 | 英文文档识别 |
| 阿里云 OCR / 腾讯云 OCR | 识别准确率高,支持 PDF / 发票 / 身份证等结构化识别 | 生产环境付费场景 |
| EasyOCR | 轻量级,支持多语言,部署简单 | 快速原型验证 |
四、核心问题:OCR 识别不准怎么办?
这是项目中最常见的坑,给你 3 个工业界常用的优化方案:
- 图像预处理
- 调整图片亮度 / 对比度、去噪、二值化,让文字更清晰
- 旋转校正、裁剪,避免倾斜 / 边框干扰
- 后处理校正
- 用大模型对 OCR 结果进行纠错:比如 prompt 写 “以下是 OCR 识别的文本,请帮我修正错别字和乱码,保留原文格式”
- 结合字典 / 正则表达式,修正特定场景的错误(比如身份证号、日期格式)
- 多模型融合
- 用两个不同的 OCR 工具识别同一张图片,取交集结果,降低错误率
去噪、二值化(OCR 图像预处理核心概念)
去噪图片拍摄、扫描后常会出现斑点、麻点、杂线、模糊色块这类无关干扰像素,这些就是噪声。 去噪就是通过算法消除这些多余干扰,只保留文字和背景,避免噪声让 OCR 认错字符,提升识别准确率。
二值化把整张图片的像素只分成两种颜色:纯黑、纯白。
- 规则:设定一个亮度阈值,高于阈值转为白色(背景),低于阈值转为黑色(文字);
- 作用:弱化色彩、阴影、渐变带来的干扰,让文字轮廓边界极度清晰,是 OCR 预处理里性价比最高的操作。
简单总结:去噪清杂质,二值化分黑白,两者都是为了让机器更容易 “看清” 文字。