简体   繁体   中英

WinError 5:Access denied PyTesseract

I know this question has already been answered on this site, however, none of the solutions I looke up the internet seemed to work. Here's what I tried:

  • Giving all permissions to my python file
  • Changing PATH variable to point to my tesseract folder
  • Running IDLE as administrator and then executing the file from there

This error is quite bothering me now and I can't advance any further because of it.

Here's my code if that's going to help:

import pytesseract
import sys
import argparse
try:
    import Image
except ImportError:
    from PIL import Image
from subprocess import check_output
pytesseract.pytesseract.tesseract_cmd = 'C:\Program Files\Tesseract-OCR'
c=pytesseract.image_to_string(Image.open('img.png'))
print(c)

Traceback:

Traceback (most recent call last):
  File "C:\Users\Hp\Desktop\bot.py", line 12, in <module>
    c=pytesseract.image_to_string(Image.open('captcha.png'))
  File "C:\Python\lib\site-packages\pytesseract\pytesseract.py", line 122, in image_to_string
config=config)
  File "C:\Python\lib\site-packages\pytesseract\pytesseract.py", line 46, in run_tesseract
proc = subprocess.Popen(command, stderr=subprocess.PIPE)
  File "C:\Python\lib\subprocess.py", line 707, in __init__
restore_signals, start_new_session)
  File "C:\Python\lib\subprocess.py", line 992, in _execute_child
startupinfo)
PermissionError: [WinError 5] Accès refusé

I suspect a few things, not sure about any though.

First and the most obvious, the path to Tesseract is not complete. It should be something like:

tesseract_cmd = 'C:\\Program Files (x86)\\Tesseract-OCR\\tesseract'

I believe your path points to a directory/folder and not an executable, though only you can confirm that. Let me know if this is incorrect, I see something else too that doesn't seem right at first, but needs more investigation.

I encountered same problem, and I fixed it as 0xc0de said, change the below line:

pytesseract.pytesseract.tesseract_cmd=r"C:\MyApps\Tesseract-ocr\"

to:

pytesseract.pytesseract.tesseract_cmd="C:\\MyApps\\Tesseract-ocr\\tesseract.exe"

Use this to read the tesseract path and also make sure that you have installed the Tesseract- OCR

pytesseract.pytesseract.tesseract_cmd = r'C:\\\Program Files (x86)\\\Tesseract-OCR\\\tesseract.exe'

using always double \\\\ instead of a single "\\"

You need to install tesseract separately. I am providing the link from where you should install

https://github.com/UB-Mannheim/tesseract/wiki

tesseract-ocr-w32-setup-v5.0.0-alpha.20201127.exe (32 bit) and tesseract-ocr-w64-setup-v5.0.0-alpha.20201127.exe (64 bit) resp.

choose here according to your system config. most of us have 64 bit. so choose that.

Install the file very carefully. I Would suggest doing it in a separate drive other than c. take the path where you have install the tesseract.exe file. and paste it at pytesseract.pytesseract.tesseract_cmd

look the code...

import cv2
import pytesseract
pytesseract.pytesseract.tesseract_cmd = r'E:/OCR/tesseract_install/tesseract.exe'
img = cv2.imread('E:/OCR/example1.png')
# to see the image below codes are there
cv2.imshow('sampleimage',img)
#enter any key to destroy the image window opened due to previous line code
cv2.waitKey(0)
cv2.destroyAllWindows()
#convert image to text using tesseract
text = pytesseract.image_to_string(img)
print(text)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM