【问题标题】:Pytesseract Traceback errorPytesseract Traceback 错误
【发布时间】:2017-03-17 01:30:49
【问题描述】:

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

问题:我需要更改什么或如何更正此问题?

追溯:

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('-----')

【问题讨论】:

  • 我回答了这种问题here

标签: python


【解决方案1】:

对于我来说,Python 找不到 tesseract.exe

您可能必须手动找到它并将其文件夹添加到PATH

顺便说一句:在文件 pytesseract.py 中有一些关于 PATH 的评论

【讨论】:

  • 我已经找到你在说什么,甚至在哪里改变它,但不完全明白要改变什么。 Tesseract.exe 位于 C:\Program Files (x86)\Tesseract-OCR 文件夹中,但它看起来并不需要该变量中的文件夹目标,因为现在它只是“tesseract”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-25
  • 1970-01-01
  • 2018-08-23
  • 2016-11-01
相关资源
最近更新 更多