使用pytesseract时出现PermissionError错误

5

我的代码:

pytesseract.pytesseract.tesseract_cmd = 'C:/Programs/tesseract'
print(pytesseract.image_to_string(Image.open("test.png")))

我遇到了错误:PermissionError: [WinError 5] 拒绝访问

我以管理员身份运行程序,但仍然收到相同的错误提示。我还更改了tesseract文件夹的权限。
我在Pycharm中使用Python解释器安装了pytesseract,并从Windows 这里下载了二进制文件,使用了第二个选项。 我将zip文件提取到C:\Programs中。
是什么导致了这个错误?
4个回答

19

经过几个小时的调试,我找到了问题所在。我使用的是 Windows 10 和 Python 3.6。

img = Image.open('sample1.jpg')
pytesseract.pytesseract.tesseract_cmd = 'C:\\Program Files (x86)\\Tesseract-OCR\\tesseract.exe'
result = pytesseract.image_to_string(img)

tesseract.exe可执行文件必须附加到pytesseract.pytesseract.tesseract_cmd

提醒一下,我之前也给了Tesseract-OCR文件夹完全权限,但这可能不是必需的。


6

您确定这是可执行文件的完整路径吗?

C:/Programs/tesseract

这是因为这个路径指向的是可执行文件所在的文件夹。请在Windows资源管理器中查看可执行文件的完整路径,并将其填入该行:

pytesseract.pytesseract.tesseract_cmd = 'C:/Programs/tesseract/tesseract.exe'

1
谢谢,我尝试过了,但没有结果。我仍然会收到一个错误:“pytesseract.pytesseract.TesseractError:(1,'无法打开数据文件\Programs\tesseract\tessdata/eng.traineddata')” - Snow
这是一个不同的错误,现在可执行文件已被找到。您是否检查了tessdata文件夹中是否存在eng.traineddata文件?我检查了您说您下载的压缩文件,该文件未包含在其中,因此您可能需要按照教程设置tesseract以进行首次使用(特别是检查如何训练它或下载已经训练好的配置)。 - Daniel

5
在系统变量中设置一个TESSDATA_PREFIX,将其指向你的tessdata文件夹。我的路径是C:\Program Files (x86)\Tesseract-OCR\tessdata

TESSDATA_PREFIX system variable


2
注意,对于像PyCharm和许多其他程序,您需要在设置系统环境变量后也关闭程序并重新打开它。 - Silas

1

这个问题仅在您将环境变量设置为直接文件夹的情况下发生。

'C:\ Program Files \ Tesseract-OCR'

你可以说这不是你必须打开Tesseract-OCR并单击打开tessdata的完整路径。这意味着您必须保存路径

'C:\ Program Files \ Tesseract-OCR \ tessdata'


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接