You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 08:05:20