Pytesseract没有在Windows操作系统上工作。 Subprocess.py丢失了?

时间:2017-08-06 18:26:13

标签: python windows anaconda tesseract

我试图让tesseract-ocr识别图像上的字符串。我在windows os pc上使用python。我已经为tesseract-OCR安装了python包装器,即使用pip install安装了pytesseract。我收到以下错误消息:

runfile('C:/Users/rlc/Desktop/tesseract_test.py', wdir='C:/Users/rlc/Desktop')
Traceback (most recent call last):
  File "<ipython-input- 1-5f5eff4c4064>", line 1, in <module>
    runfile('C:/Users/rlc/Desktop/tesseract_test.py', wdir='C:/Users/rlc/Desktop')
  File "C:\Users\rlc\Anaconda2\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 714, in runfile
    execfile(filename, namespace)
  File "C:\Users\rlc\Anaconda2\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 74, in execfile
    exec(compile(scripttext, filename, 'exec'), glob, loc)
  File "C:/Users/rlc/Desktop/tesseract_test.py", line 12, in <module>
    pytesseract.image_to_string(Image.open('example_02.png'))
  File "C:\Users\rlc\Anaconda2\lib\site-packages\pytesseract\pytesseract.py", line 161, in image_to_string
    config=config)
  File "C:\Users\rlc\Anaconda2\lib\site-packages\pytesseract\pytesseract.py", line 94, in run_tesseract
    stderr=subprocess.PIPE)
  File "C:\Users\rlc\Anaconda2\lib\subprocess.py", line 711, in __init__
    errread, errwrite)
  File "C:\Users\rlc\Anaconda2\lib\subprocess.py", line 959, in _execute_child
    startupinfo)
    WindowsError: [Error 2] Den angivne fil blev ikke fundet.

似乎无法找到文件subprocess.py。

任何解决方案,好主意或教程都可以让tesseract-ocr在windows os pc上运行?非常感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

想出subprocess.py实际上包含在Anaconda 2和Anaconda 3中。错误的原因是tesseract所在的路径未在Windows中添加为环境路径变量。

让pytesseract在Windows上运行的步骤。

  1. https://www.continuum.io/downloads
  2. 安装Anaconda 2或Anaconda 3
  3. http://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-setup-4.00.00dev.exe
  4. 安装Windows的tesseract
  5. 将tesseract目录添加到Windows作为PATH环境变量。
  6. 安装pytesseract,例如

    pip install pytesseract

  7. 和..

        import pytesseract
        from PIL import Image
        image = Image.open('example_02.png')
        code = pytesseract.image_to_string(image)
        print code
    

    瞧。

答案 1 :(得分:0)

开始扫描图像时,请像这样使用:

import pytesseract
pytesseract.pytesseract.tesseract_cmd=r'C:\Tesseract-OCR\tesseract.exe'

text = str(pytesseract.image_to_string(filename))
print(text)

注意:代替“ C:\ Tesseract-OCR在PC中使用tesseract的\ tesseract.exe的实际路径。

这里是tesseract最新版本的链接:

32位版本

访问:https://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-w32-setup-v5.0.0-alpha.20191030.exe

64位版本

访问:https://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-w64-setup-v5.0.0-alpha.20191030.exe