2017-07-22 100 views
1

我想在Jupyter筆記本上使用pytesseract。Pytesseract:打開數據文件錯誤\ Program Files(x86)\ Tesseract-OCR \ en.traineddata

  • 的Windows 10的x64
  • 運行Jupyter筆記本(Anaconda3,Python的3.6.1)具有管理權限
  • 包含TIFF文件的工作目錄是不同的驅動器(Z :)

當我運行以下代碼:

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

謝謝你的時間在這!

回答

1

從您的帖子中,觀察到兩個可能的問題。

  1. 所有訓練的語言數據應保存在TESSDATA_PREFIX, 一個Windows環境變量,這是你的情況C:\Program Files (x86)\Tesseract-OCR\tessdata

  2. 經過訓練的英文數據tesseract被命名爲eng.traineddata(即'eng'),除非您修改了名稱。有關更多信息,請參閱此Tesseract Data Files

此外,pytesseract讀取圖像文件Image.open(),您可以包括完整的文件路徑(例如'z:\\path\\to\\image')如果圖像文件無法找到。

對此希望。

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'. 
相關問題