Столкнувшись с ключевой информацией, отображаемой в виде PNG-изображения, мне пришлось обратиться к PIL/Pytesseract.
Код чрезвычайно прост и работает, когда выполняется от имени моего пользователя. Изображение загрузилось, как показывает команда печати, но image_to_string генерирует ошибку.
Код: Выделить всё
encoded_img = 'iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII='
# Decode and open as image
img_data = base64.b64decode(encoded_img)
img_bytes = BytesIO(img_data)
img = Image.open(img_bytes)
print(img.format, img.size, img.mode)
# Use pytesseract to extract number
custom_config = r'--psm 7 -c tessedit_char_whitelist=0123456789.,'
return pytesseract.image_to_string(img, config=custom_config).strip()
Код: Выделить всё
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x89 in position 270: invalid start byteЯ использую python3 и macos-sonoma — не уверен, имеет ли это значение.
Есть идеи?
Подробнее здесь: https://stackoverflow.com/questions/798 ... 270-invali
Мобильная версия