Страницы

Поиск по вопросам

вторник, 31 марта 2020 г.

Улучшение распознавания pytesseract

#python #распознавание_символов


Я пытаюсь сделать распознавание отчетливого набора букв - Arcane Adress в рамке,
но Tesseract не справляется. 

Как улучшить качество распознавания?

import pytesseract
from PIL import Image,  ImageEnhance, ImageFilter

pytesseract.pytesseract.tesseract_cmd = 'C:/Program Files (x86)/Tesseract-OCR/tesseract'

img = Image.open("C:\\Users\loljkpro\Desktop\DoD\AA.png").crop((804, 540, 1120, 580))
text = pytesseract.image_to_string(img, lang='eng')
print(text)
img.show()


Мое изображение


    


Ответы

Ответ 1



Как выяснилось из общения в комментариях, автор вопроса использовал tesseract-ocr-setup-3.05.01. В новой версии Tesseract 4.0 with LSTM используются рекуррентные нейронные сети, использующие алгоритм LSTM (Long short-term memory) - один из самых эффетивных и популярных при работе с естественными текстами. Google протестировал точность распознавания для больших объемов данных (для языка Hindi):
Engine Total char errors Word Recall Errors Word Precision Errors Walltime CPUtime*
Tess 3.04 13.9 30 31.2 3.0 2.8
Cube 15.1 29.5 30.7 3.4 3.1
Tess+Cube 11.0 24.2 25.4 5.7 5.3
LSTM 7.6 20.9 20.8 1.5 2.5
Tesseract 4.0 with LSTM показал гораздо лучшие результаты (меньше ошибок и работает быстрее) по сравнению с Tesseract 3.04 Вывод: есть смысл попробовать новую beta версию Tesseract 4.0 with LSTM

Комментариев нет:

Отправить комментарий