tesseract 给出了高度不一致的结果

tesseract is giving highly inconsistent result

我想得到图像格式的匹配结果。 下面是我用来从图像中读取文本的代码。我使用了 python 代码,它也给出了相同的结果。我怎样才能改进输出或者有没有其他更好的方法来解决我的问题。

     public String getImgText(String imageLocation) {
      ITesseract instance = new Tesseract();

      try 
      {
          instance.setDatapath("/tessdata");
          instance.setLanguage("eng");
         String imgText = instance.doOCR(new File(imageLocation));

         return imgText;
      } 
      catch (TesseractException e) 
      {
         e.getMessage();
         return "Error while reading image";
      }
   } 

输出与输入完全不同

unnl lE

mam-m m,

mun-m, 1 ms "mm M

W urn-mm my A mm“ m

mus-1mm 1 m- m m

mfinlln um: ”mu“ m

ilk-M m.

mwnm mu 5 mm nu-

..mn. n w. tvhrzmr- m

2 rm.“- 0 w, mama: m.

mum-mp 5 mu mum n.

a bulb-h» m

tum-3mm nun mm,” M

3 mmn m; mum“ M

Ema W 7 a“. m

mzsm 5m mm»... m
Continue

输入图像是

您应该在 运行 Tesseract(python 带有 opencv 库的代码)之前对图像进行预处理:

import cv2

img = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
result = cv2.bitwise_not(img)
result[result >= 190] = 255

# To show the image
cv2.imshow("Threshold", result)
cv2.waitKey()

结果是这样的:

此外,似乎英语训练数据对 PUBG 字体的处理不佳,因此您可能想对其进行微调: Training eng.traineddata for PUBG font