2017-08-06 52 views
0

我試圖讓tesseract-ocr識別圖像上的一個字符串。我在Windows操作系統電腦上使用python。我已經爲tesseract-OCR安裝了python包裝器,即使用pip install安裝pytesseract。我收到以下錯誤信息:Pytesseract不適用於Windows操作系統。 Subprocess.py丟失?

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上工作的教程?非常感謝您的幫助。

+0

我不認爲Anaconda2捆綁子進程(因爲它是基於py2的舊版本,它可能不可用?),所以請嘗試升級到Anaconda3或嘗試py2最新的python.org分發if你必須使用py2。 – MatsLindh

+1

感謝您的回覆。當問到一位幫助我弄清楚問題出在哪裏的好同事。如果您有興趣,請在下面提供的答案中查看解決方案。 –

回答

1

找出subprocess.py實際上包含在Anaconda 2和Anaconda 3中。錯誤的原因是,tesseract所在的路徑未添加爲Windows中的環境路徑變量。

在windows上獲取pytesseract的步驟。

  1. https://www.continuum.io/downloads
  2. 安裝阿納康達2或3阿納康達從http://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-setup-4.00.00dev.exe
  3. 安裝用於Windows的tesseract所述的tesseract目錄添加到窗口作爲路徑環境變量。
  4. 安裝pytesseract例如

    PIP安裝pytesseract

和..

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

瞧。

相關問題