Tesseract训练-仅包含数字的新字体

4

你好,我试图基于以下数字训练tesseract识别新字体:

digits with transparent background

所有数字都在一个带有透明背景的png文件中提供。如果我创建一个相应的盒子文件并进行训练等操作-一切正常!

现在问题来了,同样的情况,但我想基于以下图像训练tesseract:digits without transparent background

如您所见,数字和位置完全相同。与第一张图片唯一的不同之处是我使用了黄色背景,从而导致无法正常工作。我创建了一个盒子文件,并将其设置为与第一张图像相同的位置:

0 5 4 20 22 0
1 27 4 38 21 0
2 48 4 60 22 0
3 71 3 83 22 0
4 94 5 109 22 0
5 119 5 131 22 0
6 143 5 157 22 0
7 172 5 184 22 0
8 197 5 211 23 0
9 224 5 238 22 0

我训练了tesseract,但生成的.tr文件完全为空。我没有停下来,完成了其他所有步骤。生成的字体无法使用!

所以我的问题是如何训练tesseract识别这些数字,无论使用什么背景?

2016年04月16日编辑:

我使用了ImageMagick对图像进行预处理,并找到了一条适用于各种背景的命令。因此,我想要为这些已创建的图像训练tesseract,但它并不像我想象的那样有效...... 首先,我创建了大量的box文件,其中大部分为空。我使用了一个网站来组织字符位置,并花费了很多时间使裁剪完美!然后我创建了结果.tr文件并完成了其他训练tesseract的步骤。

最终我获得了“traineddata”,将文件移动到tesseract的“tessdata”目录中,并按照应该使用的方式使用它:

tesseract example.jpg output -l mg

我把新字体称作“mg”。

好的,无论如何它都不能识别大部分或者全部字体!我创建了这个帖子来寻求帮助,但是到目前为止没有人真正知道该怎么做,很遗憾...请帮帮我。

我所使用和创建的整个tesseract训练文件可以在这里找到:

Tesseract训练目录(未压缩zip文件 -> 查看目录下所有文件)


也许和主题无关,但你可以预处理以删除背景颜色。 - xvan
1个回答

1
你可以将任何彩色图像转换为二进制图像,然后对其使用tesseract,这样无论你使用什么颜色,结果都是相同的。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接