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
我想得到图像格式的匹配结果。 下面是我用来从图像中读取文本的代码。我使用了 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