首页 > 解决方案 > 正方体无法识别随机英文字符序列

问题描述

我正在寻找一些帮助来配置 Tesseract 以识别下图中的字符(称为 token.png):

字母和数字的随机序列示例

使用默认设置运行 Tesseract

tesseract token.png output

结果是

lidad3dbecsc2dedeeaedsd72bbest4 bsddo60cdetsdic?

wiki 页面上,建议禁用字典

如果您的大部分文本不是字典单词,则禁用 Tesseract 使用的字典应该会提高识别率。可以通过将配置变量 load_system_dawg 和 load_freq_dawg 都设置为 false 来禁用它们。

但是,这无济于事。例如,将文本文件构造config

load_system_dawg F
load_freq_dawg F

然后运行

tesseract token.png output config

不会提高识别度。

任何人都可以就如何解决这个问题提出建议吗?

下面的屏幕截图显示了我在 Windows 10 上的命令提示符

在此处输入图像描述

评论 1

在此处输入图像描述

如果上面显示的图像 token.png 被裁剪以连续构建字符串,那么很明显,Tesseract 在识别字符时应用了一些额外的逻辑。如下图所示。

Tessearct 用数字和字符识别字符串

看起来问题是在将字母添加到带有数字的字符串时开始的,例如,174被正确识别但174a被识别为1ida 如果 Tesseract 应用额外的逻辑,如字典查找,如何关闭此功能?

标签: ocrtesseract

解决方案


调整图像大小,使字母高 30 px,将 dpi 设置为 300,模糊图像,二值化:

在此处输入图像描述

然后:

tesseract KYCvf_.png - --psm 8 --oem 1
174ad3d62c3c29e9eeae03d72h6e5f47h94d060cde 78d 107

推荐阅读