Я использую Tesseract 4 для проекта уже более двух месяцев.(Это означает, что он работает на входных изображениях более двух месяцев.) Проблема, которую я показываю, такова:
multiprocess.pool.RemoteTraceback:
"""
Traceback (most recent call last):
File "/home/cse/.local/lib/python3.5/site-packages/multiprocess/pool.py", line 119, in worker
result = (True, func(*args, **kwds))
File "/home/cse/.local/lib/python3.5/site-packages/multiprocess/pool.py", line 44, in mapstar
return list(map(*args))
File "/home/cse/.local/lib/python3.5/site-packages/pathos/helpers/mp_helper.py", line 15, in <lambda>
func = lambda args: f(*args)
File "UKExtraction2.py", line 267, in tessBox
op = pt.image_to_string(box[0],lang='hin+eng',config='--psm 6')
File "/home/cse/.local/lib/python3.5/site-packages/pytesseract/pytesseract.py", line 286, in image_to_string
return run_and_get_output(image, 'txt', lang, config, nice)
File "/home/cse/.local/lib/python3.5/site-packages/pytesseract/pytesseract.py", line 194, in run_and_get_output
run_tesseract(**kwargs)
File "/home/cse/.local/lib/python3.5/site-packages/pytesseract/pytesseract.py", line 170, in run_tesseract
raise TesseractError(status_code, get_errors(error_string))
pytesseract.pytesseract.TesseractError: (127, 'tesseract: symbol lookup error: tesseract: undefined symbol: _ZN9tesseract15TessPDFRendererC1EPKcS2_b')
"""
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "UKExtraction2.py", line 855, in <module>
doItAllUpper("A0","UK4.csv","temp",27,70,"box",2,1000,firstPageCoordsUK,boxCoordUK,voterBoxCoordUK,internalBoxNumberCoordUK,externalBoxNumberCoordUK,addListInfoUK)
File "UKExtraction2.py", line 776, in doItAllUpper
doItAll(tempPDFName,outputCSV,2,pdfs,formatType,n_blocks,writeBlockSize,firstPageCoords,boxCoord,voterBoxCoord,internalBoxNumberCoord,externalBoxNumberCoord,addListInfo,pdfName)
File "UKExtraction2.py", line 617, in doItAll
mainProcess(pdfName,(0,noOfPages-1),formatType,n_blocks,outputCSV,writeBlockSize,firstPageCoords,boxCoord,voterBoxCoord,internalBoxNumberCoord,externalBoxNumberCoord,addListInfo,bigPDFName,basePages)
File "UKExtraction2.py", line 563, in mainProcess
names_lst = cropAndOCR(im,(tup[0],tup[1]),formatType,boxCoord,voterBoxCoord,externalBoxNumberCoord,n_blocks,basePages)# Add the values of fpageInfo
File "UKExtraction2.py", line 416, in cropAndOCR
results = pool.map(tessBox,box_lst_divided)
File "/home/cse/.local/lib/python3.5/site-packages/pathos/multiprocessing.py", line 137, in map
return _pool.map(star(f), zip(*args)) # chunksize
File "/home/cse/.local/lib/python3.5/site-packages/multiprocess/pool.py", line 266, in map
return self._map_async(func, iterable, mapstar, chunksize).get()
File "/home/cse/.local/lib/python3.5/site-packages/multiprocess/pool.py", line 644, in get
raise self._value
pytesseract.pytesseract.TesseractError: (127, 'tesseract: symbol lookup error: tesseract: undefined symbol: _ZN9tesseract15TessPDFRendererC1EPKcS2_b')
Часть pathos
связана с тем, что в проекте используются два потокаработать.Важная часть:
pytesseract.pytesseract.TesseractError: (127, 'tesseract: symbol lookup error: tesseract: undefined symbol: _ZN9tesseract15TessPDFRendererC1EPKcS2_b')
Пользователь, опубликовавший сообщение об ошибке this в почтовой группе Google tesseract-ocr:
combine_tessdata: symbol lookup error: combine_tessdata: undefined symbol: _Z7tprintfPKcz
И получил ответ о том, что
«неопределенный символ» указывает на неисправную установку
Но, как я уже сказал, эта версия работает без ошибок более двух месяцев, поэтомуне должно быть никаких проблем с установкой tesseract.
Другой пользователь отправил такую же проблему в группе, но никто не ответил.
Итак, я предположил, что проблема может быть в двух местах:
- На изображении, предоставленном тессеракту.
- Внутри тессеракта.
Изображение может быть не совсем изображением!То есть он может иметь размеры 0x0 (хотя это невозможно, учитывая процесс построения изображения).Но это невозможно, потому что я получил ошибку:
SystemError: tile cannot extend outside image
Когда я попробовал свою гипотезу.
Это означает, что изображение присутствовало, поэтому тессеракт должен был сработать.
Это также означает, что проблема внутри Тессеракта.Я не эксперт по внутренней работе Тессеракта, но учитывая тот факт, что эта версия работала до сих пор правильно и нет проблем с входным изображением, в чем может быть проблема с Тессерактом?
PS: Яв настоящее время нет рядом с системой, которая запускает скрипт, но я знаю об ошибке, которая произошла.Возможно, я не смогу дать точную информацию о системе, поэтому я ожидаю гипотезы для проблемы.
PS: сценарий здесь .