tesseract给出的结果非常不一致

高拉夫·辛格

我想获取匹配结果,其格式为image。下面是我用来从图像中读取文本的代码。我用过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

输入的图像是

在此处输入图片说明

K41F4r

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

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字体,因此您可能需要对其进行微调:训练eng.traineddata以获取PUBG字体

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章