为什么无法识别这张图片中的文字?

Why is the text not recognized from this image?

下图中的文字无法正确识别,但它适用于其他图片:

from PIL import Image
from pytesseract import pytesseract

pytesseract.tesseract_cmd = (r'C:\Users\SPT\AppData\Local\Programs\Tesseract-OCR\tesseract.exe')

img = Image.open(r'C:\Users\SPT\Desktop\Bot\bot\savedimage.png')

x = pytesseract.image_to_string(img)
print(x)

使用 tesseract 时,请将 Improving the quality of the output 放在附近。

您的输入是一些三通道 RGB 图像。第一次尝试,甚至在 binarization 之前,将转换为单通道灰度:

from PIL import Image
from pytesseract import pytesseract

img = Image.open('b8JEG.png').convert('L')

x = pytesseract.image_to_string(img)
print(repr(x))
# '40\n\n'

如您所见,这已经有所帮助。

或者,查看 page segmentation mode 部分。模式 6 在这里似乎是合理的:

from PIL import Image
from pytesseract import pytesseract

img = Image.open('b8JEG.png')

x = pytesseract.image_to_string(img, config='-psm 6')
print(repr(x))
# '40\n\n'

这也能起到作用。

----------------------------------------
System information
----------------------------------------
Platform:      Windows-10-10.0.16299-SP0
Python:        3.9.1
PyCharm:       2021.1.1
Pillow:        8.2.0
pytesseract:   4.00.00alpha
----------------------------------------