Tesseract混淆了两个数字

Dan*_*gen 18 ocr tesseract

我正在编写一个应用程序来扫描图像中的数字.

这些数字是使用OCR-B字体,并且还可以含有+>字符.

这是我的源图片:

源图像

即使将字符集限制为上述字符,使用Tesseract的扫描也不是很好.由于我没有找到任何针对Tesseract的OCRB培训文件,我决定自己进行培训.

我创建了这个训练图像并从中制作了一个盒子文件.盒子文件是正确的,所有字母都正确匹配.

然后我完成了这里描述的所有步骤来创建其他必要的文件.

使用这个新训练的OCR-B tessdata-set,我在源图像上得到了相当不错的结果,有一个小错误:所有1s都被误认为8s,反之亦然.用于处理图像的命令是

$ tesseract esr2c.tif ocrb-esr2c -l ocrb
Run Code Online (Sandbox Code Playgroud)

并且源图像的输出是

0800000001456> 8 00000195731208 8 01050008 023+ 08 0301226> 20

如果你交换所有1s和8s并将它与源图像进行比较,输出将是正确的(除了我可以忽略的最后两个字母).

怎么会发生这种情况?我在培训过程中是否犯了一些错误?我该如何解决?

ngu*_*enq 6

您的盒子文件中的某个位置可能有1和8的值不正确(字符).您可以使用jTessBoxEditor程序进行验证.如果是,请更正,重新生成语言数据文件,然后重试.

  • 马上,我可以通过jTessBoxEditor看到前四个字符(行)在box文件中的位置和顺序之外.请尝试将它们移动到正确的位置和顺序,然后继续执行其余的训练步骤.(对不起,我还没有设置一个可以上传文件的地方.) (2认同)