【发布时间】:2019-10-24 01:08:15
【问题描述】:
我创建了一个将图像打印为文本的程序。
环境变量
- 变量名:pytesseract
- 变量值:pytesseract.pytesseract.tesseract_cmd= r'C:\Program Files (x86)\Tesseract-OCR\tesseract.exe'
//代码
try:
from PIL import Image
except ImportError:
import Image
import pytesseract
pytesseract.pytesseract.tesseract_cmd= r'C:\Program Files (x86)\Tesseract-OCR\tesseract.exe'
image1 = Image.open("C:\python\program\image.png")
print(pytesseract.image_to_string(image1))
错误:
Traceback (most recent call last):
File "C:/python/program/Image_OCR.py", line 13, in <module>
print(pytesseract.image_to_string(image1))
File "C:\python\venv\lib\site-packages\pytesseract\pytesseract.py", line 338, in image_to_string
}[output_type]()
File "C:\python\venv\lib\site-packages\pytesseract\pytesseract.py", line 337, in <lambda>
Output.STRING: lambda: run_and_get_output(*args),
File "C:\python\venv\lib\site-packages\pytesseract\pytesseract.py", line 246, in run_and_get_output
run_tesseract(**kwargs)
File "C:\python\venv\lib\site-packages\pytesseract\pytesseract.py", line 222, in run_tesseract
raise TesseractError(proc.returncode, get_errors(error_string))
pytesseract.pytesseract.TesseractError: (1, 'Error opening data file \\Program Files (x86)\\Tesseract-OCR\\tessdata/eng.traineddata Please make sure the TESSDATA_PREFIX environment variable is set to the parent directory of your "tessdata" directory. Failed loading language \'eng\' Tesseract couldn\'t load any languages! Could not initialize tesseract.')
实际效果:将图像打印为文本。
【问题讨论】:
-
将
TESSDATA_PREFIX环境变量设置为C:\Program Files (x86)\Tesseract-OCR -
修改后会报同样的错误
-
添加
import os; os.environ['TESSDATA_PREFIX']='C:\Program Files (x86)\Tesseract-OCR' -
试了,没用...同样的错误
-
它似乎无法找到
\\Program Files (x86)\\Tesseract-OCR\\tessdata/eng.traineddata,因此您要么没有告诉它正确的位置,要么您没有该文件。请说明这两种可能性的情况。
标签: python image-processing python-imaging-library python-tesseract