2017-06-15 38 views
-1

我想我的手在openCV和python上建立一個基本的腳本從圖像中讀取文本。Python:圖像到文本

現在我對這個說File Not Found的錯誤感到困惑,問題是我無法理解這個回溯。哪個文件不在那裏?任何圖書館或其他問題。 它正在寫thresh.png和removednoise.png。

我正在使用python 3.6,如果有任何兼容性問題,請讓我知道。 如果需要更多信息,請讓我知道。

通過指向一個方向幫助我。在此先感謝

這是我的代碼。

import cv2 
import numpy as np 
import pytesseract 
from PIL import Image 

#src_path ="D:/python'/practice" 

def get_string(img_path): 
    img = cv2.imread(img_path) 
    img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) 
    kernel = np.ones((1, 1), np.uint8) 
    img = cv2.dilate(img, kernel, iterations=1) 
    img = cv2.erode(img, kernel, iterations=1) 

    cv2.imwrite("removed_noise.png", img) 
    img = cv2.adaptiveThreshold(img, 255, cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 11, 2) 
    cv2.imwrite("thres.png", img) 
    result = pytesseract.image_to_string(Image.open("thres.png")) 

    return result 


print ('------------TEXT------------') 

print (get_string("imag1.png")) 

錯誤消息:

D:\python'\practice>python OCR_text.py 
------------TEXT------------ 
Traceback (most recent call last): 
    File "OCR_text.py", line 25, in <module> 
    print (get_string("imag1.png")) 
    File "OCR_text.py", line 18, in get_string 
    result = pytesseract.image_to_string(Image.open("thres.png")) 
    File "D:\Python\lib\site-packages\pytesseract\pytesseract.py", line 122, in image_to_string 
    config=config) 
    File "D:\Python\lib\site-packages\pytesseract\pytesseract.py", line 46, in run_tesseract 
    proc = subprocess.Popen(command, stderr=subprocess.PIPE) 
    File "D:\Python\lib\subprocess.py", line 707, in __init__ 
    restore_signals, start_new_session) 
    File "D:\Python\lib\subprocess.py", line 990, in _execute_child 
    startupinfo) 
FileNotFoundError: [WinError 2] The system cannot find the file specified 

回答

0

FileNotFoundError是由subprocess,其正在嘗試啓動一個外部進程提高。沒有找到它嘗試啓動的命令。你可以看到一對夫婦排隊在回溯它說:

File "D:\Python\lib\site-packages\pytesseract\pytesseract.py", line 46, in run_tesseract 
    proc = subprocess.Popen(command, stderr=subprocess.PIPE) 

要使用pytesseract,你需要在系統上安裝一些其他的依賴關係,請參閱本節:

https://pypi.python.org/pypi/pytesseract/0.1

安裝:

  • Python-tesseract需要Python 2.5或更高版本。

  • 您將需要Python圖像庫(PIL)。在Debian/Ubuntu下,這是「python-imaging」軟件包。

  • http://code.google.com/p/tesseract-ocr/安裝google tesseract-ocr。您必須能夠將tesseract命令作爲「tesseract」調用 。如果不是這種情況,對於 示例,因爲tesseract不在您的PATH中,您必須更改 「tesseract_cmd」變量,位於'tesseract.py'的頂部。

嘗試在命令shell中鍵入tesseract,如果它不工作,那麼你沒有設置爲使用這個包呢。按照他們的安裝說明。

+0

Tesseract已安裝,是否可以因爲我在C:ddirectory中安裝了tesseract,並且正在D:目錄 –

+0

中運行python和pytestesseract,這只是該問題。我從C目錄卸載了Tesseract並安裝在D目錄中。多謝兄弟 –