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

Windows10下pytesseract出现PermissionError(WinError5)权限拒绝问题求助

解决OCR程序的PermissionError: [WinError 5]权限拒绝问题

核心问题排查与修复步骤:

  • 修正Tesseract可执行文件路径
    你的代码中tesseract_cmd仅指向Tesseract的安装文件夹,未指定具体的tesseract.exe文件,这会导致pytesseract无法正确调用可执行程序,进而触发权限错误。修改路径如下:

    pytesseract.pytesseract.tesseract_cmd = "C:\\Users\\hypro\\AppData\\Local\\Programs\\Tesseract-OCR\\tesseract.exe"
    
  • 修正图片路径的转义问题
    图片路径中的单反斜杠会被Python解析为转义字符,可能导致无法正确读取图片,间接引发异常。改为双反斜杠或原始字符串格式:

    # 方式1:双反斜杠
    img = cv2.imread('C:\\Users\\hypro\\Downloads\\image1.jpg')
    # 方式2:原始字符串
    img = cv2.imread(r'C:\Users\hypro\Downloads\image1.jpg')
    
  • 以管理员身份运行程序
    右键点击Python IDE或脚本文件,选择「以管理员身份运行」,规避系统权限限制导致的Tesseract调用失败。

  • 检查临时文件目录权限
    pytesseract会在系统临时目录生成临时文件,若该目录权限不足也会触发权限错误。可手动指定有权限的临时目录:

    import tempfile
    # 设置自定义临时目录(确保你拥有读写权限)
    tempfile.tempdir = "C:\\Users\\hypro\\AppData\\Local\\Temp"
    

完整修正后的代码示例:

import cv2
import pytesseract
import numpy as np
import tempfile

# 设置自定义临时目录
tempfile.tempdir = "C:\\Users\\hypro\\AppData\\Local\\Temp"

# 修正Tesseract可执行文件路径
pytesseract.pytesseract.tesseract_cmd = "C:\\Users\\hypro\\AppData\\Local\\Programs\\Tesseract-OCR\\tesseract.exe"

# 修正图片路径并检查是否读取成功
img = cv2.imread(r'C:\Users\hypro\Downloads\image1.jpg')
if img is None:
    print("无法读取图片,请检查路径是否正确")
    exit()

# 图像预处理流程
gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
gray, img_bin = cv2.threshold(gray,128,255,cv2.THRESH_BINARY | cv2.THRESH_OTSU)
gray = cv2.bitwise_not(img_bin)
kernel = np.ones((2, 1), np.uint8)
img = cv2.erode(gray, kernel, iterations=1)
img = cv2.dilate(img, kernel, iterations=1)

# 执行OCR识别
out_below = pytesseract.image_to_string(img)
print("OUTPUT:", out_below)

内容的提问来源于stack exchange,提问作者Hypron Master

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 12:30:40