云南叠跃科技有限公司
返回原创指南

02 · Vision & OCR

OCR 工程实践:让识别结果可用,而不只是有文字

从页面检测、图像预处理、并发调度到质量校验和自适应兜底,说明 Mint 如何把一次模型调用变成可恢复的 OCR 流程。

约 11 分钟
扫描资料处理、档案数字化与多模态应用研发人员

更新于 2026 年 7 月

01

检测

判断页面是否真的需要 OCR

02

预处理

校正方向、尺寸、对比度和噪声

03

识别

按页面并发执行视觉文字识别

04

质检

识别乱码、循环、空白和截断

05

兜底

只对失败页调整策略后重试

核心判断

OCR 不是把图片发送给模型,而是一套围绕页面质量、任务状态和结果验收建立的工程系统。

01 / Routing

先判断是否需要 OCR

Word、数字 PDF 和带有正常文字层的页面,应优先使用结构化解析。只有无法获得可读文字,或用户明确要求读取图片文字时,OCR 才进入执行链路。

01

普通对话图片

用户询问画面内容时优先进行视觉理解;只有提取文字、表格或转录请求才需要 OCR。

02

知识库图片

默认使用 OCR 建立可检索文本,可按需要补充视觉描述,二者承担不同职责。

03

混合文档页面

原生文字满足质量要求时不重复 OCR,局部图片或失真区域可以单独补充处理。

章节 1

02 / Image preparation

模型看到的页面质量决定结果上限

OCR 前需要把页面转换为稳定的标准图像,并控制像素、色彩空间、方向与内存。预处理不是装饰,它决定小字、表格线和低对比内容能否被识别。

Mint 会根据页面尺寸选择渲染分辨率,对旋转、倾斜、低对比度和噪声进行针对性处理,同时限制异常大图带来的内存风险。

对于文字密集或复杂表格页面,简单重复发送同一张图没有意义。更有效的方法是提高局部清晰度,或把页面按区域拆分后分别识别。

章节 2

03 / Page tasks

长文档按页面执行,进度和失败都必须可观察

几百页文件不能被当成一个不可见的长请求。Mint 将页面建立为独立任务,在受控并发下处理,并持续记录排队、识别、质检和完成状态。

01

受控并发

并发度根据服务能力和设备资源设置,既提升吞吐,也避免瞬时请求导致整体失败。

02

页面心跳

长时间处理仍会持续更新进度,用户能够区分正在执行、等待服务和已经失联。

03

失败隔离

单页失败不影响其他页面落地,恢复时只重试失败页,并保留已经验证的结果。

章节 3

04 / Recognition quality

质量校验必须在保存结果之前

“模型返回了文本”并不能证明识别成功。Mint 会检查正文长度、可读字符比例、异常坐标标记、重复循环、空白输出和截断情况。

坐标信息不会被一律判错:当有效正文充分时可以清洗后保留;只有坐标或控制标记淹没正文时,结果才进入失败或降级处理。

重复生成会在异常尾部截断。如果前半部分通过质量检查,可以保存为部分成功,并标记需要复核的页面范围。

章节 4

05 / Adaptive fallback

失败页需要改变处理策略,而不是机械重试

网络中断、服务超时和限流适合退避重试;页面过密、图像模糊和结构复杂则需要改变输入。两类问题不能使用同一种重试规则。

01

传输类失败

遵循服务端重试时间,采用抖动退避,并限制最大尝试次数。

02

质量类失败

提高局部渲染质量,按 2×2 或 3×3 区域切分,识别后再按空间顺序合并。

03

内容类失败

损坏、加密或无有效内容时直接返回明确原因,不消耗资源进行盲目重试。

最终目标

用户应该看到具体页码与原因,例如“18 页文字过密,已进入分区识别”,而不是只看到一个无法行动的 OCR 失败。

章节 5

Implementation Checklist

实施检查表

确认当前任务确实需要 OCR,而不是可以直接读取文字层
为低清晰度、旋转和复杂表格页面设置不同预处理策略
按页面记录状态、耗时、尝试次数和失败原因
把网络失败与质量失败分开重试
仅重试失败页,并在保存前执行可读性与重复检查

继续阅读 · 03

知识库资料准备:检索质量从上传之前开始

让资料处理结果可验证、可恢复、可引用

指南中的处理原则来自 Mint 的实际文档、媒体与知识库工程,并持续通过真实资料验证。