未应用Tesseract用户模式

Bhu*_*han 6 ocr tesseract tess4j

我想在这张图片上做OCR.在此输入图像描述 这是预定义的格式.即前五个将是字符,然后接下来的四个将是数字,最后一个将是字符.

当我执行以下命令

$ tesseract in.png stdout
Run Code Online (Sandbox Code Playgroud)

我输出为BDVPD474SQ

所以,我去了用户模式.我创建了一个名为bazaar的文件(在目录/ usr/share/tesseract-ocr/tessdata/configs中)(其内容如下)

load_system_dawg     F
load_freq_dawg       F
user_patterns_suffix user-patterns
Run Code Online (Sandbox Code Playgroud)

我还在目录/ usr/share/tesseract-ocr/tessdata中创建了一个名为eng.user-patterns的文件(其内容如下)

\A\A\A\A\A\d\d\d\d\A
Run Code Online (Sandbox Code Playgroud)

不过,我得到了同样的结果

$ tesseract in.png stdout bazaar
BDVPD474SQ
Run Code Online (Sandbox Code Playgroud)

我做错了什么?Tess4j有没有人完成这个?

小智 0

您可以添加选项--oem 0以确保应用用户模式。请参阅此公关评论

由于我在 tesseract 上5.3.3,我必须调整您的输入图像以重现类似的行为:

在此输入图像描述

我指定用户模式\A\A\A\A\A\d\d\d\A\A,以强制将部分擦除的字符识别9为字母。

随着--oem 0,Tesseract 返回BDVPD474SQ(它读取一个S)。

如果没有该选项,Tesseract 将返回BDVPD474SQ(识别5)。