Pytesseract: UnicodeDecodeError: 'charmap' codec can't decode byte

Pytesseract: UnicodeDecodeError: 'charmap' codec can't decode byte

我运行使用 Pytesseract 在屏幕截图上进行了大量 OCR。这在大多数情况下运行良好,但有一小部分会导致此错误:

pytesseract.image_to_string(image,None, False, "-psm 6")
Pytesseract: UnicodeDecodeError: 'charmap' codec can't decode byte 0x9d in position 2: character maps to <undefined>

我正在使用 Python 3.4。任何关于如何防止此错误发生的建议(除了 try/except)都会非常有帮助。

确保您使用了正确的解码选项。
https://docs.python.org/3/library/codecs.html#standard-encodings

str.decode('utf-8')
bytes.decode('cp950') 繁体中文等

使用Unidecode

from unidecode import unidecode
import pytesseract

strs = pytesseract.image_to_string(Image.open('binarized_image.png'))
strs = unidecode(strs)
print (strs)