2017-03-16 70 views
0

我第一次使用Pytesseract并且遇到问题。我假设我忽略了一些基本的东西,我仍然在学习python。我在我的电脑上安装了Tesseract-OCR,然后使用pip install来安装pytesseract。我也尝试点击安装枕头,但couldnt,因为它已经通过pyautogui安装。我尝试运行下面的代码,但得到一个错误。Pytesseract回溯错误

问题:我需要改变什么,或者我该如何改正?

回溯:

Traceback (most recent call last): 
    File "C:\Users\bweibley\HC\test.py", line 20, in <module> 
    text = get_text(img, region) 
    File "C:\Users\bweibley\HC\test.py", line 8, in get_text 
    return pytesseract.image_to_string(image.crop(region)) 
    File "C:\Users\bweibley\AppData\Local\Programs\Python\Python36-32\lib\site-packages\pytesseract\pytesseract.py", line 161, in image_to_string 
    config=config) 
    File "C:\Users\bweibley\AppData\Local\Programs\Python\Python36-32\lib\site-packages\pytesseract\pytesseract.py", line 94, in run_tesseract 
    stderr=subprocess.PIPE) 
    File "C:\Users\bweibley\AppData\Local\Programs\Python\Python36-32\lib\subprocess.py", line 707, in __init__ 
    restore_signals, start_new_session) 
    File "C:\Users\bweibley\AppData\Local\Programs\Python\Python36-32\lib\subprocess.py", line 990, in _execute_child 
    startupinfo) 
FileNotFoundError: [WinError 2] The system cannot find the file specified 

代码:

#python 3.6 
from PIL import Image 
import pytesseract 

# --- functions --- 

def get_text(image, region): 
    return pytesseract.image_to_string(image.crop(region)) 

def get_int(image, region): 
    return int(get_text(image, region).replace(',', '')) 

# --- main --- 

# test on screenshots: 0.jpg ... 9.jpg 
for x in range(10): 
    img = Image.open('screenshots/{}.jpg'.format(x)) 

    region = (288, 664, 487, 706) 
    text = get_text(img, region) 
    print('Name:', text) 

    region = (8666, 871, 1036, 920) 
    value = get_int(img, region) 
    print('Power:', value) 

    region = (1292, 466, 1420, 515) 
    value = get_int(img, region) 
    print('Loot #1:', value) 

    region = (1292, 555, 1420, 604) 
    value = get_int(img, region) 
    print('Loot #2:', value) 

    region = (1292, 645, 1420, 694) 
    value = get_int(img, region) 
    print('Loot #3:', value) 

    print('-----') 
+0

我回答这类问题[这里](http://stackoverflow.com/a/43330889/7802055)。 –

回答

1

至于我的Python不能找到tesseract.exe

您可能需要手动将其找到并将其文件夹添加到PATH

BTW:有关于PATH内部文件pytesseract.py一些评论

+0

我已经找到了你在说什么,甚至在哪里改变它,但不完全明白要改变它。 Tesseract.exe位于C:\ Program Files(x86)\ Tesseract-OCR文件夹中,但它看起来并不像它想要在该变量中的文件夹目标,因为现在它只是'tesseract' – Brandon