我正在尝试使用Python Tesseract从我的macos桌面上的图像中获取文本,并且遇到了一个我无法弄清楚的错误。我正在运行macos High Sierra 10.3.2
我的目录设置为我的桌面(图像所在的位置),我已经指定了tesseract可执行文件的路径。
我正在运行
print(pytesseract.image_to_string(Image.open('test.png'))
并收到以下错误:
File "/Users/name/anaconda2/lib/python2.7/site-packages/pytesseract/pytesseract.py", line 140, in run_and_get_output
run_tesseract(**kwargs)
File "/Users/name/anaconda2/lib/python2.7/site-packages/pytesseract/pytesseract.py", line 116, in run_tesseract
raise TesseractError(status_code, get_errors(error_string))
pytesseract.pytesseract.TesseractError: (1, u'File "/var/folders/cp/dg2snlxn2631h8jx1bwb7jk80000gn/T/tess_cK4lka.PNG", line 1 SyntaxError: Non-ASCII character \'\\x89\' in file /var/folders/cp/dg2snlxn2631h8jx1bwb7jk80000gn/T/tess_cK4lka.PNG on line 1, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details')
知道可能导致这种情况的原因以及如何解决这个问题?很乐意提供任何澄清细节。
谢谢!
答案 0 :(得分:0)
好像您正在尝试渲染非ASCII字符。尝试将其添加到.py文件的顶部以确保UTF-8编码:
<img src="demo.jpg" alt="Apple-one Text" />
如错误消息所述,有关详细信息,请参阅Proxies。
答案 1 :(得分:0)
使用unidecode库
from unidecode import unidecode
.
.
.
print unidecode(pytesseract.image_to_string(Image.open('test.png')))