「图片转文字出来一堆乱码」这句话背后其实藏着两个完全不同的问题:一个是模型认错了字,一个是文本编码不对。表现很像,处理方向完全相反,混在一起排查会白花时间。
先做这一步判断:错在哪一层
把识别出来的 txt 用两个不同的程序打开 —— 记事本一个、浏览器或编辑器一个。
- 两边显示一样,都是错字或半截英文:内容层的问题,识别时就认错了
- 一边正常一边是奇怪符号:编码问题,文件本身是好的,只是打开方式不对
编码问题在 UTF-8 输出上很少出现,但把内容转贴到 Excel 或某些老系统时会产生,处理办法见 CSV 打开中文乱码怎么修?分清 UTF-8 和 GBK 就一次搞定。
中英混排:错在哪、怎么改
中英混排最常见的三种错法:英文单词少字母或整段丢失、中文里夹的英文被认成形近符号(l 认成 1、O 认成 0)、单位与符号丢失(℃、±、™)。
成因是行内两种文字的字号、字重差别很大,模型在同一段里来回切换时容易漏掉小的那一种。
能做的三件事:
- 让英文部分占更多像素 —— 放大后再截屏,比缩小整页去识别有效得多
- 按语种分块:一张图里中英区域能分开时,分两次识别再拼起来
- 关键英文用肉眼补:型号、编号、邮箱、网址这四类,识别结果一定要逐字对着原图核,因为错一个字符就完全无效
繁体:不是识别不了,是字形不同
繁体字图片的中文识别通常能出结果,但两类情况要注意:
- 简繁混用的原文(港台文件常见,正文繁体、批注简体),切换处容易出错
- 异体字与旧字形,可能识别成形近的简体字,意思已经变了
需要繁体转简体,这一步不在识别环节做。先把文本提取出来,再用系统或编辑器提供的简繁转换处理,最后核对。原因是转换是有损的:「發」和「髮」都转成「发」,「後」和「後」在不同语境下对应不同简体字 —— 识别阶段做这个转换,出错就再也对不回原图了。
竖排与特殊排版:明确做不到
竖排文字,尤其是竖排古文,无法可靠识别。 横排是现代文本识别的基本假设,竖排会直接打乱读取顺序。同理还有:文字沿曲线排列的艺术字、海报上的装饰字体、被印章压住的行。这几类不是准确率高低的问题,属于不支持。
表格里的中英混排是另一个坑:走普通图片识别会丢行列,应该直接用 表格识别转Excel,它的模型会先重建结构再读单元格内容。
处理链上的正确顺序
多语言内容的完整流程应该是:先保证图够清楚 → 选对入口 → 提取纯文本 → 再谈简繁转换和翻译 → 最后逐项核对关键字段。
前两步在 图片转文字 完成,中间的清理用 TXT 文本处理 的查找替换与去重,最后一步是人工。
翻译属于识别之外的另一件事,本站不提供 —— 提取出文本之后交给什么工具,取决于你的用途,但请务必在核对完原文之后再做,否则你翻译的是一个已经错了的原文。