Tesseract image_to_string 是空的
Tesseract image_to_string is empty
我在图像中有一个简单的文本 image_ball.png
。通常 Tesseract 的 OCR 效果很好,但是对于这个特定的图像,它 returns 总是一个空字符串。
In [1]: from PIL import Image
In [2]: from pytesseract import image_to_string
In [3]: img = Image.open("image_ball.png")
In [4]: image_to_string(img)
Out[5]: u''
到目前为止我找不到解决方法。
我怎样才能弄清楚这张图片出了什么问题?
版本是:
In [6]: import PIL
In [7]: PIL.__version__
Out[7]: '4.0.0'
$ tesseract -v
tesseract 4.0.0
leptonica-1.77.0
libgif 5.1.4 : libjpeg 9c : libpng 1.6.36 : libtiff 4.0.10 : zlib 1.2.11 : libwebp 1.0.2 : libopenjp2 2.3.0
Found AVX2
Found AVX
Found SSE
编辑
我也尝试将图像转换为 black/white。但是还是认不出来
In [6]: image = img.convert('L')
In [7]: image_to_string(image)
Out[8]: u''
编辑 2
单个字符似乎也是 Tesseract 的问题。放大或腐蚀图像似乎无济于事:image_1.png
膨胀图像可为您提供所需的输出。
image = cv2.imread("Ball.png", cv2.IMREAD_GRAYSCALE)
cv2.dilate(image, (5, 5), image)
print(pytesseract.image_to_string(image), config='--psm 7')
Ball
我在图像中有一个简单的文本 image_ball.png
。通常 Tesseract 的 OCR 效果很好,但是对于这个特定的图像,它 returns 总是一个空字符串。
In [1]: from PIL import Image
In [2]: from pytesseract import image_to_string
In [3]: img = Image.open("image_ball.png")
In [4]: image_to_string(img)
Out[5]: u''
到目前为止我找不到解决方法。 我怎样才能弄清楚这张图片出了什么问题?
版本是:
In [6]: import PIL
In [7]: PIL.__version__
Out[7]: '4.0.0'
$ tesseract -v
tesseract 4.0.0
leptonica-1.77.0
libgif 5.1.4 : libjpeg 9c : libpng 1.6.36 : libtiff 4.0.10 : zlib 1.2.11 : libwebp 1.0.2 : libopenjp2 2.3.0
Found AVX2
Found AVX
Found SSE
编辑
我也尝试将图像转换为 black/white。但是还是认不出来
In [6]: image = img.convert('L')
In [7]: image_to_string(image)
Out[8]: u''
编辑 2
单个字符似乎也是 Tesseract 的问题。放大或腐蚀图像似乎无济于事:image_1.png
膨胀图像可为您提供所需的输出。
image = cv2.imread("Ball.png", cv2.IMREAD_GRAYSCALE)
cv2.dilate(image, (5, 5), image)
print(pytesseract.image_to_string(image), config='--psm 7')
Ball