我正在编写一个应用程序来扫描图像中的数字.
这些数字是使用OCR-B字体,并且还可以含有+和>字符.
这是我的源图片:

即使将字符集限制为上述字符,使用Tesseract的扫描也不是很好.由于我没有找到任何针对Tesseract的OCRB培训文件,我决定自己进行培训.
我创建了这个训练图像并从中制作了一个盒子文件.盒子文件是正确的,所有字母都正确匹配.
然后我完成了这里描述的所有步骤来创建其他必要的文件.
使用这个新训练的OCR-B tessdata-set,我在源图像上得到了相当不错的结果,有一个小错误:所有1s都被误认为8s,反之亦然.用于处理图像的命令是
$ tesseract esr2c.tif ocrb-esr2c -l ocrb
并且源图像的输出是
0800000001456> 8 00000195731208 8 01050008 023+ 08 0301226> 20
如果你交换所有1s和8s并将它与源图像进行比较,输出将是正确的(除了我可以忽略的最后两个字母).
怎么会发生这种情况?我在培训过程中是否犯了一些错误?我该如何解决?
您的盒子文件中的某个位置可能有1和8的值不正确(字符).您可以使用jTessBoxEditor程序进行验证.如果是,请更正,重新生成语言数据文件,然后重试.
| 归档时间: | 
 | 
| 查看次数: | 10142 次 | 
| 最近记录: |