使用pyteserract 0.1.5我使用print image_to_string(img)得到以下错误它无法找到哪个文件?

时间:2015-02-16 17:57:49

标签: python ocr tesseract

我是python编码的新手。我正在使用Pillow。以下是代码:

    >>> from PIL import Image
    >>> from pytesseract import*
    >>> img=Image.open("C:\image.jpg")
    >>> print image_to_string(img)
    Traceback (most recent call last):
      File "<pyshell#4>", line 1, in <module>
        print image_to_string(img)
      File "build\bdist.win-amd64\egg\pytesseract\pytesseract.py", line 142, in         image_to_string
    config=config)
      File "build\bdist.win-amd64\egg\pytesseract\pytesseract.py", line 75, in run_tesseract
    stderr=subprocess.PIPE)
      File "C:\Python27\lib\subprocess.py", line 710, in __init__
    errread, errwrite)
      File "C:\Python27\lib\subprocess.py", line 958, in _execute_child
    startupinfo)
    WindowsError: [Error 2] The system cannot find the file specified

5 个答案:

答案 0 :(得分:3)

我意识到这已经很晚了,但我遇到了同样的问题和错误消息,所以我发布这个来帮助遇到问题的其他人。

这不起作用的原因是因为没有安装Tesseract。 Tesseract是一个可执行文件,Pytesseract只是一个Python接口。 Pytesseract试图从命令行运行Tesseract,但Windows无法找到名为Tesseract的可执行文件。可以从https://github.com/tesseract-ocr/tesseract/wiki/Downloads下载Tesseract的安装程序。

如果您已安装Tesseract,请检查是否可以从命令行运行它(只需键入“tesseract”)。如果它不起作用,那么您需要将可执行文件的文件夹添加到路径变量中(如果您使用安装程序,应该为您处理)。

答案 1 :(得分:0)

我遇到了同样的情况,这只是因为你的系统帐户的优先级,所以不要将你的py和图像文件保存在C盘中,移动到另一个磁盘,它对我有用。

答案 2 :(得分:0)

使用Pytesseract时运行时出现同样的问题。由于以下原因,它无法正常工作:

  1. 由于图片位于C:\,您可能没有访问权限。尝试在管理员模式下运行Python IDLE或cmd。
  2. 未安装Tesseract。 pytesseract只是一个python接口。您需要下载并安装exe。您可以从here下载。
  3. 添加此代码pytesseract.pytesseract.tesseract_cmd = 'C:\\Program Files (x86)\\Tesseract-OCR\\tesseract.exe'或者您可以在python脚本中将您的路径添加到teserract的exe文件中。然后尝试跑步。

答案 3 :(得分:0)

这样写你的路径:

img=Image.open(r"C:\image.jpg")

肯定会打开图像。

答案 4 :(得分:-1)

这很可能是由权限要求引起的。没有太多的用户和权限,基本上python没有以管理员身份运行,因此它无法访问C:\image.jpg,因为C:\是受限制的。

如果没有这些限制,请将图片移至Documents文件夹,然后将开头更改为img=Image.open(os.environ[USERPROFILE]+"\\Documents\\image.jpg")。您的Documents文件夹没有相同的限制,因此最好将测试图像放在那里。

os.environ存储一些有用的目录信息,例如用户配置文件所在的位置信息。在我的计算机上,我的用户名为IronManMark20,因此该个人资料的路径为C:\Users\IronManMark20\os.environ[USERPROFILE]正确获取该信息。有关非常有用的操作系统库的更多信息,请查看here注意:字面上输入“USERPROFILE”而不是您的用户名!所以我不会输入IronManMark20,我会输入USERPROFILE

然后我添加\\Documents\\image.jpg来制作其余路径。注意双反斜杠,在python中意味着由于character escapes应该有一个反斜杠。在我的经验中,最好使用它而不是单\