Tesseract误解了发票中的字母

时间:2018-01-08 15:40:49

标签: ocr tesseract

我正在使用Tesseract 4.0,我正试图OCR一些发票。我的问题是它给某些字母带来了错误的结果,例如,当字母实际为S时,我会得到$或8。

奇怪的是,有些S是正确的猜测,但是有些S或不是,这也适用于其他字母。

我的问题是,我如何训练Tesseract更好地处理这些案件?

另外,如果Tesseract错误地将S.A.中的S误解为因为点数而成为一个数字,我感到很奇怪。

我附上了我遇到问题的image

谢谢,

2 个答案:

答案 0 :(得分:1)

你真的不能训练"正方体。您可以做的是调整您传递的图片的对比度和/或亮度,以获得更好的效果。 Tesseract还允许您使用-l选项指定文本所使用的语言,尽管我无法真正说明其准确性有所提高,但您的里程可能会有所不同。

答案 1 :(得分:0)

您应该做的是应用一些预处理阶段。 由于你的字体非常嘈杂 - 简单的侵蚀和扩张会提供更好的输入图像: enter image description here

erode(image, image, getStructuringElement(MORPH_RECT, Size(2, 4)));
dilate(image, image, getStructuringElement(MORPH_RECT, Size(4, 4)));

该图片的输出为

  

S.C。 Carpatcement Hording S.A。

顺便提一下,如果您在初始图像上使用OEM_TESSERACT_ONLY(无LSTM),它将为初始图像和预处理图像提供正确的结果。