Pytesseract Image_to_string返回Windows错误:Python中的访问被拒绝错误 [英] Pytesseract Image_to_string returns Windows Error: Access denied error in Python

查看:1108
本文介绍了Pytesseract Image_to_string返回Windows错误:Python中的访问被拒绝错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试使用Pytesseract从图像中读取文本.运行以下脚本时,我收到访问被拒绝的消息.

I tried to read the text from the image using Pytesseract.I am getting Access denied message when I run the below script.

     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)

当我运行脚本时,我遇到错误

when I run the script I am getting below Error

    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 

推荐答案

您的代码可以工作,但pytesseract.pytesseract.tesseract_cmd的设置除外. tesseract_cmd应该设置为计算机中安装的tesseract executable file.

Your code works except the setting of pytesseract.pytesseract.tesseract_cmd. The tesseract_cmd should set to the tesseract executable file installed in your machine.

这里是示例用法.

pytesseract.pytesseract.tesseract_cmd = "C:/Program Files/Tesseract 4.0.0/tesseract.exe"

如果Windows PC中没有正确搜索PATH设置,则需要tesseract_cmd.

The tesseract_cmd is required if no properly search PATH setup in your Windows PC.

希望获得帮助.


更新:

在使用pytesseract(使用subprocess模块从Python在Windows shell中运行tesseract)之前,您需要先将tesseract二进制文件安装到PC中.

You need to have tesseract binary installed into your PC before using pytesseract which uses subprocess module to run tesseract in Windows shell from Python.

点击此 Tesseract 4.00 alpha 下载并安装64位Windows版本.然后设置PATHTESSDATA_PREFIX分别指向tesseract.exe~\tessdata目录.

Click this Tesseract 4.00 alpha to download a 64-bit Windows version and install it. Then setup the PATH and TESSDATA_PREFIX pointing to your tesseract.exe and ~\tessdata directory respectively.

如果您需要任何其他语言trained data file,则可以获取

If you need any other language trained data file, you can get it [here].

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

In case the ~\tessdata directory is not found in your Windows, you can create it manually and copy at least one traineddata file to there, such as eng.traineddata for English.

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

If tesseract is working, it will return the version information when you type tesseract -v in command prompt as below.

这篇关于Pytesseract Image_to_string返回Windows错误:Python中的访问被拒绝错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆