Python 2.7 PyteSeract Image_to_字符串返回Windows错误:Python中的拒绝访问错误

Python 2.7 PyteSeract Image_to_字符串返回Windows错误:Python中的拒绝访问错误,python-2.7,tesseract,python-tesseract,windowserror,Python 2.7,Tesseract,Python Tesseract,Windowserror,我试图使用Pytesseract读取图像中的文本。当我运行下面的脚本时,收到拒绝访问的消息 from PIL import Image import pytesseract import cv2 import os filename=r'C:\Users\ychandra\Documents\teaching-text-structure-3-728.jpg' pytesseract.pytesseract.tesseract_cmd

我试图使用Pytesseract读取图像中的文本。当我运行下面的脚本时,收到拒绝访问的消息

     from PIL import Image
     import pytesseract
     import cv2
     import os

     filename=r'C:\Users\ychandra\Documents\teaching-text-structure-3-728.jpg'
     pytesseract.pytesseract.tesseract_cmd = r'C:\Python27\Lib\site-packages\pytesseract'
     image=cv2.imread(filename)
     gray=cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)

     gray=cv2.threshold(gray,0,255,cv2.THRESH_BINARY|cv2.THRESH_OTSU)[1]
     gray=cv2.medianBlur(gray,3)

     filename='{}.png'.format(os.getpid())
     cv2.imwrite(filename,gray)

     text=pytesseract.image_to_string(Image.open(filename))
     print text

     cv2.imshow("image",image)
     cv2.imshow("res",gray)
     cv2.waitKey(0)
当我运行脚本时,我发现下面的错误

    Traceback (most recent call last):
    File "F:\opencv\New_folder_3\text_from_image.py", line 17, in <module>
text=pytesseract.image_to_string(Image.open(filename))
    File "C:\Python27\lib\site-packages\pytesseract\pytesseract.py", line 122, in image_to_string
config=config)
    File "C:\Python27\lib\site-packages\pytesseract\pytesseract.py", line 46, in run_tesseract
    proc = subprocess.Popen(command, stderr=subprocess.PIPE)
    File "C:\Python27\lib\subprocess.py", line 390, in __init__
errread, errwrite)
    File "C:\Python27\lib\subprocess.py", line 640, in _execute_child
startupinfo)
    WindowsError: [Error 5] Access is denied 
回溯(最近一次呼叫最后一次):
文件“F:\opencv\New\u folder\u 3\text\u from\u image.py”,第17行,在
text=pytesseract.image_to_字符串(image.open(文件名))
文件“C:\Python27\lib\site packages\pytesseract\pytesseract.py”,第122行,在图像\u到\u字符串中
config=config)
文件“C:\Python27\lib\site packages\pytesseract\pytesseract.py”,第46行,在run\u tesseract中
proc=subprocess.Popen(命令,stderr=subprocess.PIPE)
文件“C:\Python27\lib\subprocess.py”,第390行,在\uuu init中__
错误读取,错误写入)
文件“C:\Python27\lib\subprocess.py”,第640行,在执行子进程中
startupinfo)
WindowsError:[错误5]访问被拒绝

除了设置
pytesseract.pytesseract.tesseract\u cmd
之外,您的代码可以正常工作。
tesseract\u cmd
应设置为机器中安装的
tesseract可执行文件

下面是它的一个示例用法

pytesseract.pytesseract.tesseract_cmd = "C:/Program Files/Tesseract 4.0.0/tesseract.exe"
如果Windows PC中没有正确的搜索路径设置,则需要使用
tesseract\u cmd

希望这有帮助


更新:

在使用
pytesseract
之前,您需要将
tesseract
二进制文件安装到您的电脑中。pytesseract使用
subprocess
模块从Python在Windows shell中运行tesseract

单击此按钮可下载64位Windows版本并进行安装。然后设置
路径
TESSDATA\u前缀
,分别指向您的
tesseract.exe
~\TESSDATA
目录。

如果您需要任何其他语言
训练过的数据文件
,您可以获得它

如果在您的Windows中找不到
~\tessdata
目录,您可以手动创建它,并将至少一个
traineddata
文件复制到该目录,例如英语的
eng.traineddata

如果
tesseract
正在工作,当您在命令提示符下键入
tesseract-v
时,它将返回版本信息,如下所示。

除了设置
pytesseract.pytesseract.tesseract\u cmd
之外,您的代码可以正常工作。
tesseract\u cmd
应设置为机器中安装的
tesseract可执行文件

下面是它的一个示例用法

pytesseract.pytesseract.tesseract_cmd = "C:/Program Files/Tesseract 4.0.0/tesseract.exe"
如果Windows PC中没有正确的搜索路径设置,则需要使用
tesseract\u cmd

希望这有帮助


更新:

在使用
pytesseract
之前,您需要将
tesseract
二进制文件安装到您的电脑中。pytesseract使用
subprocess
模块从Python在Windows shell中运行tesseract

单击此按钮可下载64位Windows版本并进行安装。然后设置
路径
TESSDATA\u前缀
,分别指向您的
tesseract.exe
~\TESSDATA
目录。

如果您需要任何其他语言
训练过的数据文件
,您可以获得它

如果在您的Windows中找不到
~\tessdata
目录,您可以手动创建它,并将至少一个
traineddata
文件复制到该目录,例如英语的
eng.traineddata

如果
tesseract
正在工作,当您在命令提示符下键入
tesseract-v
时,它将返回版本信息,如下所示。

请参阅我的答复。以下是以防万一你还没有读过-。请看我的回答。以下内容只是为了防止您尚未阅读-。我尝试了将tesseract可执行文件路径设置为tesseract_cmd,正如您上面提到的。我得到了一个不同的错误,如下所示。
raise TesseractError(status,errors)TesseractError:(1,u'error opening data file\\Python27\\Lib\\site packages\\pytesseract\\tessdata/eng.traineddata')
我的pytesseract中没有testdata文件夹。我使用PIP安装了pytesseract。您知道我在哪里可以找到它。@chandrakanthChandra您可以在上面的更新中查看我的答复。谢谢。我会检查的。我尝试过将tesseract可执行文件路径设置为tesseract_cmd,如上所述。我收到了一个不同的错误,如下所示。
引发TesseractError(状态,错误)TesseractError:(1,u'Error opening data file\\Python27\\Lib\\site packages\\pytesseract\\tessdata/eng.traineddata')
我的pytesseract中没有testdata文件夹。我使用PIP安装了pytesseract。你知道在哪里可以找到它。@chandrakanthChandra你可以在上面的更新中查看我的回复。谢谢。我会检查这个