Python 正在Windows CMD上尝试Tesseract

Python 正在Windows CMD上尝试Tesseract,python,tesseract,pytesser,Python,Tesseract,Pytesser,我在将Tesseract OCR与Pyteseract Python包装器一起使用时遇到问题。 我认为问题可能来自Tesseract本身,而不是包装器。 所以我在CMD中尝试了Tesseract: C:\Users\Thomas\Desktop>tesseract.exe 'blabla.jpg' 'out.txt' 它返回了以下行: Tesseract Open Source OCR Engine v3.05.01 with Leptonica Error in fopenReadSt

我在将Tesseract OCR与Pyteseract Python包装器一起使用时遇到问题。 我认为问题可能来自Tesseract本身,而不是包装器。 所以我在CMD中尝试了Tesseract:

C:\Users\Thomas\Desktop>tesseract.exe 'blabla.jpg' 'out.txt'
它返回了以下行:

Tesseract Open Source OCR Engine v3.05.01 with Leptonica
Error in fopenReadStream: file not found
Error in findFileFormat: image file not found
Error during processing.
我已执行以下操作来安装Tesseract:

  • 从那里安装:
  • 将tesseract.exe的路径添加到path环境变量
顺便说一句,我在运行Python代码时遇到的问题是:

from PIL import Image
import pytesseract
text = pytesseract.image_to_string(Image.open('blabla.jpg')
print(text)
是:

回溯(最近一次呼叫最后一次):
文件“”,第1行,在
运行文件('D:/anaconda/projects/OCR/OCR.py',wdir='D:/anaconda/projects/OCR')
文件“D:\anaconda\lib\site packages\spyder\utils\site\sitecustomize.py”,第880行,在runfile中
execfile(文件名、命名空间)
文件“D:\anaconda\lib\site packages\spyder\utils\site\sitecustomize.py”,第102行,在execfile中
exec(编译(f.read(),文件名,'exec'),命名空间)
文件“D:/anaconda/projects/OCR/OCR.py”,第48行,在
text=pytesseract.image_到_字符串(a)
文件“D:\anaconda\lib\site packages\pytesseract\pytesseract.py”,第122行,在图像\u到\u字符串中
config=config)
文件“D:\anaconda\lib\site packages\pytesseract\pytesseract.py”,第46行,在run\u tesseract中
proc=subprocess.Popen(命令,stderr=subprocess.PIPE)
文件“D:\anaconda\lib\subprocess.py”,第707行,在\uuu init中__
恢复信号,启动新会话)
文件“D:\anaconda\lib\subprocess.py”,第990行,在\u execute\u child中
startupinfo)
PermissionError:[WinError 5]访问被拒绝
以管理员身份运行代码并不能解决问题


非常感谢你的帮助

首先,要从
Windows命令提示符
验证
teseract
是否有效,如果图像和/或输出文件名包含
空格
,请使用
而不是
。否则,不需要引号符号

C:\Users\Thomas\Desktop>tesseract.exe blabla.jpg out.txt
其次,使用完整文件路径来指定图像文件。比如,

pytesseract.pytesseract.tesseract_cmd = 'C:/path/to/tesseract.exe'
text = pytesseract.image_to_string(Image.open('D:/path/to/blabla.jpg'))
请注意,正斜杠
/
用于指定任何文件路径,而不是反斜杠
\
,或者使用双反斜杠
\\
,例如
'D:\\path\\to\\blablablabla.jpg'


希望有帮助。

请阅读此文章。感谢您的回复!它解决了我的第一个问题。但是,我的python代码即使使用完整的图像路径也无法工作。我仍然收到“拒绝访问”消息。您是否尝试添加
pytesseract.pytesseract.tesseract\u cmd=
以指定
tesseract.exe
文件路径?检查示例命令的更新答案。
pytesseract.pytesseract.tesseract_cmd = 'C:/path/to/tesseract.exe'
text = pytesseract.image_to_string(Image.open('D:/path/to/blabla.jpg'))