Предварительная обработка изображения Tesseract Улучшение - PullRequest
0 голосов
/ 20 декабря 2018

Я пытаюсь прочитать PDF как этот ниже.PDF example

До сих пор мне удавалось достичь 95% точности с помощью следующей процедуры:

  • Преобразование PDF в изображение с помощью Wand (I 'Я предпочел бы использовать pdf2image, но я в Windows, и я не смог установить poppler)
  • Разделить каждую строку на число слева и слово справа.
  • Измените размер с коэффициентом, равным 0,85.
  • Примените пороговое значение 185.
  • Используйте специальные обученные данные для 0-9., - с здесь

С помощью этой процедуры он отлично читает почти каждое число, за исключением того, что иногда он смешивает 3 с, 5 с и 9 с.

Тип изображения, которое я получил после всей этой процедуры, указан ниже

enter image description here

И код:

dir_image = file
pdf = wi(filename=file, resolution=300)
pdfImage = pdf.convert("png")
page = wi(image = img)
page.save(filename = filename)
image = cv2.imread(filename, cv2.IMREAD_GRAYSCALE)
#Split into each row would go here but code is too long and doesn't matter
cropped_img_left = cv2.resize(cropped_img_left , None, fx=0.85, fy=0.85, interpolation=cv2.INTER_CUBIC)
ret, cropped_img_left = cv2.threshold(cropped_img_left, 185, 255, cv2.THRESH_BINARY)

У меня нет идей о том, как достичь 100% точности.Вот некоторые идеи, которые я получил:

  • Улучшить качество преобразования pdf в png, возможно, с помощью другого инструмента?
  • Использовать другие обученные данные, более похожие на мои цифры
  • Измените параметры tesseract

Но я немного растерялся и буду признателен за некоторые рекомендации по этому поводу.

Заранее большое спасибо!

...