我是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
答案 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时运行时出现同样的问题。由于以下原因,它无法正常工作:
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应该有一个反斜杠。在我的经验中,最好使用它而不是单\
。