Tesseract 误解了发票中的字母
Tesseract misinterprets letters in an invoice
我正在使用 Tesseract 4.0,我正在尝试对一些发票进行 OCR。我的问题是它给出了一些字母的错误结果,例如当字母实际上是 S 时我会得到 $ 或 8。
奇怪的是,有些 S 猜对了,但有些 S 猜错了,这也适用于其他字母。
我的问题是,如何训练 Tesseract 更好地处理这些情况?
此外,我想知道 Tesseract 是否误解了 S.A 中的 S。由于点而成为数字。
我附上了我遇到问题的 image。
谢谢,
亚历山德拉
你真的无法 "train" 超宇宙立方体。你可以做的是调整你传递给它的图片的对比度 and/or 亮度以获得更好的结果。
Tesseract 还允许您使用 -l 选项指定您的文本所使用的语言,虽然我无法真正说出它的准确性有所提高,但您的里程可能会有所不同。
您应该做的是应用一些预处理阶段。
由于您的字体非常嘈杂 - 简单的腐蚀和膨胀会提供更好的输入图像:
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),它将为初始图像和预处理图像提供正确的结果。
我正在使用 Tesseract 4.0,我正在尝试对一些发票进行 OCR。我的问题是它给出了一些字母的错误结果,例如当字母实际上是 S 时我会得到 $ 或 8。
奇怪的是,有些 S 猜对了,但有些 S 猜错了,这也适用于其他字母。
我的问题是,如何训练 Tesseract 更好地处理这些情况?
此外,我想知道 Tesseract 是否误解了 S.A 中的 S。由于点而成为数字。
我附上了我遇到问题的 image。
谢谢,
亚历山德拉
你真的无法 "train" 超宇宙立方体。你可以做的是调整你传递给它的图片的对比度 and/or 亮度以获得更好的结果。 Tesseract 还允许您使用 -l 选项指定您的文本所使用的语言,虽然我无法真正说出它的准确性有所提高,但您的里程可能会有所不同。
您应该做的是应用一些预处理阶段。
由于您的字体非常嘈杂 - 简单的腐蚀和膨胀会提供更好的输入图像:
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),它将为初始图像和预处理图像提供正确的结果。