我正在尝试在Jupyter Notebook上使用pytesseract。
当我运行以下代码时:
try:
import Image
except ImportError:
from PIL import Image
import pytesseract
pytesseract.pytesseract.tesseract_cmd = 'C:\\Program Files (x86)\\Tesseract-OCR\\tesseract.exe'
tessdata_dir_config = '--tessdata-dir "C:\\Program Files (x86)\\Tesseract-OCR\\tessdata"'
print(pytesseract.image_to_string(Image.open('Multi_page24bpp.tif'), lang='en', config = tessdata_dir_config))
我收到以下错误:
TesseractError Traceback (most recent call last)
<ipython-input-37-c1dcbc33cde4> in <module>()
11 # tessdata_dir_config = '--tessdata-dir "C:\\Program Files (x86)\\Tesseract-OCR\\tessdata"'
12
---> 13 print(pytesseract.image_to_string(Image.open('Multi_page24bpp.tif'), lang='en'))
14 # print(pytesseract.image_to_string(Image.open('test-european.jpg'), lang='fra'))
C:\Users\cpcho\AppData\Local\Continuum\Anaconda3\lib\site-packages\pytesseract\pytesseract.py in image_to_string(image, lang, boxes, config)
123 if status:
124 errors = get_errors(error_string)
--> 125 raise TesseractError(status, errors)
126 f = open(output_file_name, 'rb')
127 try:
TesseractError: (1, 'Error opening data file \\Program Files (x86)\\Tesseract-OCR\\en.traineddata')
我发现这两个引用很有帮助,但我遗漏了一些东西: https://github.com/madmaze/pytesseract/issues/50 https://github.com/madmaze/pytesseract/issues/64
感谢您抽出宝贵时间!
答案 0 :(得分:1)
在您的帖子中,发现了两个可能的问题。
所有经过培训的语言数据都应保存在TESSDATA_PREFIX
中,
Windows环境变量,在您的情况下为C:\Program Files
(x86)\Tesseract-OCR\tessdata
。
tesseract
经过培训的英语数据名为eng.traineddata
(即'eng'
),除非您修改了其名称。有关详细信息,请参阅此Tesseract Data Files。
此外,要使pytesseract
读取图像文件Image.open()
,如果图像文件无法找到,您可以包含完整的文件路径(例如'z:\\path\\to\\image'
)。
希望这样。
答案 1 :(得分:1)
如果您不想设置环境变量,也可以将其作为参数传递
例如:
首先,进行进口
import pytessetact
from PIL import Image
现在配置pytesseract
pytesseract.pytesseract.tesseract_cmd = "C:/path_to_your_tesseract.exe"
tessdata_dir_config = '--tessdata-dir "C:/path_to_your_tessdata_folder"'
pytesseract.image_to_string(image, config=tessdata_dir_config)
答案 2 :(得分:0)
我遇到了同样的问题。我在Google上尝试了所有解决方案,没有成功。最后,我通过替换解决了这个问题。
pytesseract.pytesseract.tesseract_cmd = 'C:\\Program Files (x86)\\Tesseract-OCR\\tesseract.exe'
带
pytesseract.pytesseract.tesseract_cmd = 'C:/Program Files (x86)/Tesseract-OCR/tesseract.exe'.