Estoy tratando de usar pytesseract en Jupyter Notebook.
Cuando corro el siguiente código:
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))
Obtuve el siguiente error:
TesseractError Traceback (most recent call last) in () 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')
Me parecieron útiles estas dos referencias, pero me falta algo: https://github.com/madmaze/pytesseract/issues/50 https://github.com/madmaze/pytesseract/issues/64
¡Gracias por su tiempo en esto!
Desde tu post, observaste dos posibles problemas.
Todos los datos de idioma entrenados deben guardarse en TESSDATA_PREFIX
, una variable de entorno de Windows, que se encuentra en C:\Program Files (x86)\Tesseract-OCR\tessdata
en su caso.
Los datos de inglés entrenados por tesseract
se denominan eng.traineddata
(es decir, 'eng'
) a menos que haya modificado su nombre. Consulte estos archivos de datos de Tesseract para obtener más información.
Además, para que pytesseract
lea el archivo de imagen Image.open()
, puede incluir la ruta completa del archivo (por ejemplo, 'z:\\path\\to\\image'
) si el archivo de imagen no puede ubicarse.
Espero a esto.
Me enfrenté al mismo problema. Probé todas las soluciones en Google, sin éxito. Finalmente, resolví el problema reemplazando.
pytesseract.pytesseract.tesseract_cmd = 'C:\\Program Files (x86)\\Tesseract-OCR\\tesseract.exe'
con
pytesseract.pytesseract.tesseract_cmd = 'C:/Program Files (x86)/Tesseract-OCR/tesseract.exe'.