我想对这张图片进行 OCR。 这是预先定义的格式。即前五个是字符,接下来的四个是数字,最后是字符。
当我执行以下命令时
$ tesseract in.png stdout
我得到的输出为 BDVPD474SQ
所以,我选择了用户模式。 我创建了一个文件(在目录/usr/share/tesseract-ocr/tessdata/configs中),名为bazaar(其内容如下)
load_system_dawg F
load_freq_dawg F
user_patterns_suffix user-patterns
我还在目录/usr/share/tesseract-ocr/tessdata中创建了一个文件,名为eng.user-patterns(其内容如下)
\A\A\A\A\A\d\d\d\d\A
不过,我得到了相同的结果
$ tesseract in.png stdout bazaar
BDVPD474SQ
我做错了什么? 有没有人通过 Tess4j 完成这个?
您可以添加选项
--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
)。