使用Python将图片文本列表转为列表时遭遇PermissionError权限错误
解决[WinError 5]权限被拒绝问题(cv2+pytesseract图片转列表)
问题描述
使用cv2与pytesseract库将图片中的文本列表转换为Python列表时,触发PermissionError: [WinError 5] 权限被拒绝错误。代码昨日可正常运行,今日无法执行。
相关代码
import cv2 import pytesseract import ast pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files (x86)\Tesseract-OCR' img=cv2.imread("number_1.jpg") img=cv2.cvtColor(img,cv2.COLOR_BGR2RGB) new_array=[] arr=pytesseract.pytesseract.image_to_string(img) try : arr = ast.literal_eval(arr) except: arr=arr.split("\n") arr =list(filter(None, arr)) for i in arr: i=i.split(",") for j in i: j =int(j) new_array.append(j) arr=new_array cv2.imshow("result",img) cv2.waitKey(0)
报错堆栈信息(中文翻译)
Traceback (most recent call last): 文件 "C:\Users\ayano\OneDrive\Masaüstü\tesseract_detect_text\main.py", 第14行, in <module> arr=pytesseract.pytesseract.image_to_string(img) 文件 "C:\Users\ayano\OneDrive\Masaüstü\tesseract_detect_text\lab_interpreter\lib\site-packages\pytesseract\pytesseract.py", 第423行, in image_to_string return { 文件 "C:\Users\ayano\OneDrive\Masaüstü\tesseract_detect_text\lab_interpreter\lib\site-packages\pytesseract\pytesseract.py", 第426行, in <lambda> Output.STRING: lambda: run_and_get_output(*args), 文件 "C:\Users\ayano\OneDrive\Masaüstü\tesseract_detect_text\lab_interpreter\lib\site-packages\pytesseract\pytesseract.py", 第288行, in run_and_get_output run_tesseract(**kwargs) 文件 "C:\Users\ayano\OneDrive\Masaüstü\tesseract_detect_text\lab_interpreter\lib\site-packages\pytesseract\pytesseract.py", 第255行, in run_tesseract proc = subprocess.Popen(cmd_args, **subprocess_args()) 文件 "C:\Users\ayano\AppData\Local\Programs\Python\Python310\lib\subprocess.py", 第969行, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, 文件 "C:\Users\ayano\AppData\Local\Programs\Python\Python310\lib\subprocess.py", 第1438行, in _execute_child hp, ht, pid, tid = _winapi.CreateProcess(executable, args, PermissionError: [WinError 5] 权限被拒绝
解决方案
- 修正Tesseract路径:代码中
tesseract_cmd指向的是文件夹,需改为指向tesseract.exe可执行文件:pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files (x86)\Tesseract-OCR\tesseract.exe' - 管理员身份运行:右键点击Python脚本或IDE,选择「以管理员身份运行」,规避权限限制。
- 排查安全软件拦截:临时关闭杀毒软件或防火墙,或将Tesseract安装目录添加至信任列表,避免进程被拦截。
- 重新安装Tesseract:卸载现有版本后,下载安装最新版Tesseract,确保安装路径无中文、空格或特殊字符。
- 检查临时文件夹权限:确认当前用户对
C:\Users\<你的用户名>\AppData\Local\Temp文件夹拥有读写权限,pytesseract需在此存储临时文件。
内容的提问来源于stack exchange,提问作者izmirlikezzap
相关产品推荐
相关产品推荐

