обнаружение вертикальных текстов (контейнер BI C коды) с помощью tesseract OCR не удается - PullRequest
0 голосов
/ 09 мая 2020

Я пытаюсь использовать Tesseract Open Source OCR Engine для обнаружения текста кодов интермодальных (транспортных) контейнеров в формате BI C. Кстати, я использую tesseract через pytesseract, и я предварительно обрабатываю входные фотографии с помощью нескольких стандартных фильтров opencv (огромное изменение масштаба / размытие / шумоподавление / бинаризация).

Я настроил tesseract (версия: tesseract 5.0.0-alpha-647 -g4a00) таким образом:

  config = (
    # only a set of characters
    ' -c tessedit_char_whitelist=0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ' +

    # no language model
    ' -c load_system_dawg=0' +
    ' -c load_freq_dawg=0' +

    ' -c enable_new_segsearch=1' +

    ' -c language_model_penalty_non_freq_dict_word=1' +
    ' -c language_model_penalty_non_dict_word=1' +

    # select segmentation mode
    ' --psm 11'
  )

Я получил обнадеживающие результаты, когда коды выровнены по горизонтали, как в этом случае:

enter image description here

, но у меня есть проблемы с вертикальным текстом, как в примере, показанном на фотографии:

enter image description here

В последнем случае tesseract не производит полезный результат. Почему тессеракт не выполняет событие, если входное изображение кажется "хорошим"? Есть предложения о том, как улучшить распознавание движка?

1 Ответ

0 голосов
/ 22 мая 2020

Попробуйте запустить с --psm 5:

pagesegmode values are:
  5 = Assume a single uniform block of vertically aligned text.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...