【发布时间】:2011-11-09 17:11:02
【问题描述】:
我正在编写一个应用程序来扫描图像中的数字。
数字使用 OCR-B 字体,还可能包含 + 和 > 字符。
这是我的源图片:
使用 Tesseract 的扫描效果不是很好,即使将字符集限制为提到的字符也是如此。由于我没有找到任何 Tesseract 的 OCRB 训练文件,我决定自己训练它。
我创建了this training image 并从中制作了一个盒子文件。盒子文件正确,所有字母都匹配正确。
然后我做了所有步骤described here 来创建其他必要的文件。
使用这个新训练的 OCR-B tessdata-set,我在源图像上得到了很好的结果,但有一个小错误:所有1s 都被误认为8s,反之亦然。用于处理图像的命令是
$ tesseract esr2c.tif ocrb-esr2c -l ocrb
源图像的输出是
0800000001456>8 00000195731208 8 01050008 023+ 08 0301226>20
如果您交换所有1s 和8s 并将其与源图像进行比较,输出将是正确的(除了最后两个我可以忽略的字母)。
怎么会这样?我在训练过程中是否犯了一些错误?我该如何解决?
【问题讨论】:
-
在此处发布该数据没有安全隐患?
-
@andrew 不是真的。只是一张旧的、无效的账单,参考 ID 中没有任何个人信息。
-
@DaniloBargen:如果可以的话,能否分享一下 OCRB 字体的训练数据?
-
@RaviGupta 我没有了,反正结果也不好。
-