使用Python Tesseract从图像中获取文本,但收到错误

时间:2018-03-16 00:50:00

标签: python ocr tesseract

我正在尝试使用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')

知道可能导致这种情况的原因以及如何解决这个问题?很乐意提供任何澄清细节。

谢谢!

2 个答案:

答案 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')))