2017-08-06 33 views
2

我的代碼:PermissionError與pytesseract

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

我得到的錯誤:PermissionError:[WinError 5]訪問被拒絕

然後我跑的程序作爲管理員,並收到了同樣的錯誤。 我還更改了tesseract文件夾的權限。

我使用Python解釋器在Pycharm中安裝pytesseract,並使用第二個選項從Windows here下載了二進制文件。我提取了zip文件夾C:\程序

什麼是導致錯誤?

回答

1

在您的系統變量中設置一個TESSDATA_PREFIX到您的tessdata文件夾。我的是C:\Program Files (x86)\Tesseract-OCR\tessdata

TESSDATA_PREFIX system variable

+1

請注意,對於像PyCharm等許多程序,您還需要關閉程序並在設置系統環境變量後重新打開程序。 – Silas

2

您確定這是可執行文件的完整路徑嗎?

C:/Programs/tesseract 

因爲它看起來像可執行文件夾的路徑。請與Windows資源管理器可執行文件的完整路徑是什麼,並把它放在行:

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

謝謝,我試過,但沒有結果。我仍然收到一個錯誤:'pytesseract.pytesseract.TesseractError:(1,'打開數據文件\\程序\\ tesseract \\ tessdata/eng.traineddata')' –

+0

這是一個不同的錯誤,現在正在找到可執行文件。你有沒有檢查'tessdata'文件夾中是否存在'eng.traineddata'文件?我查看了你說你下載的zip文件,並且該文件沒有包含在那裏,所以你可能需要按照教程來了解如何設置tesseract以供第一次使用(具體檢查如何訓練或下載已經過訓練的配置) 。 – MondKin

6

花費幾個小時後,我發現這個問題。我使用的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文件夾,但它可能不會被要求