为什么 tesseract OCR 在通过 python 执行时会冻结?

Why tesseract OCR freezes up when executing through python?

我已经为 Windows 下载了 Tesseract OCR,我可以通过这种方式轻松地将图像转换为文本:

C:\>"C:\Program Files (x86)\Tesseract-OCR\tesseract.exe" screenshot22.png output -l spa

运行良好,执行仅需一秒。

这是它的版本:

C:\>"C:\Program Files (x86)\Tesseract-OCR\tesseract.exe" -v
tesseract 3.05.02
 leptonica-1.75.3
  libgif 5.1.4 : libjpeg 8d (libjpeg-turbo 1.5.3) : libpng 1.6.34 : libtiff 4.0.9 : zlib 1.2.11 : libwebp 0.6.1 : libopenjp2 2.2.0

因此,我下载了 pytesseract python 库:

C:\Users\ghade\Desktop>pip3 install pytesseract --no-cache-dir
Collecting pytesseract
  Downloading https://files.pythonhosted.org/packages/f9/4d/0cc26dbb2298080ed0f1ca848c06a1b68ab041e809f3583fe8642ee228cc/pytesseract-0.2.5.tar.gz (169kB)
    100% |████████████████████████████████| 174kB 817kB/s
Requirement already satisfied: Pillow in c:\users\ghade\appdata\local\programs\python\python37-32\lib\site-packages (from pytesseract) (5.3.0)
Installing collected packages: pytesseract
  Running setup.py install for pytesseract ... done
Successfully installed pytesseract-0.2.5

所以我可以用python这样执行:

import pytesseract
from PIL import Image

# If I comment this line, it does not works
pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files (x86)\Tesseract-OCR\tesseract.exe'

print(pytesseract.image_to_string(Image.open('screenshot22.png'), lang='spa'))

相同的图像和相同的参数。但它卡在最后一行,而且它从来没有 returns 任何东西。我缺少什么?你有别的选择吗?

我重新安装了相关的包,更新了TESSDATA_PREFIX环境变量,现在可以正常使用了!