Это изображение с очень низкой контрастностью, поэтому вам необходимо улучшить его с помощью PIL (или другой библиотеки), прежде чем Tesseract сможет правильно преобразовать его. Я обнаружил, что обрезка как можно ближе к тексту также помогает, хотя ручная настройка пикселей для кадрирования не очень масштабируема, если у вас много изображений разных размеров.
from PIL import Image, ImageEnhance
im = Image.open(r'file.png').convert('L') # convert to grayscale
enhancer = ImageEnhance.Contrast(im)
im = enhancer.enhance(15.0)
# crop 7 pixels off top and 10 off bottom
im = im.crop((0, 7, im.size[0], im.size[1] - 10))
# convert with whitelist of capital letters and digits
result = image_to_string(im,
config='--psm 10 --oem 3 -c tessedit_char_whitelist=ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'))
print(result) # 4X35