OCR обнаруживает E как £ - PullRequest
       7

OCR обнаруживает E как £

0 голосов
/ 02 февраля 2020

Я использую pytesseract (версия 5 из tesseract) для сканирования изображения. Я изменил изображение на черно-белое, чтобы убрать шум, но E все еще определяется как £ 196893.
Также попытался установить значения языка, dpi и psm, которые предлагались большинством людей. Ниже приведены настройки, которые я использую сейчас. Пожалуйста, предложите.

pytesseract.image_to_string(Image.open(impath), config=" --dpi 120 --psm 6 -l eng")

Однажды образец изображения показан ниже. Для некоторых образцов это работает нормально, но для некоторых образцов это дает такие странные символы.

sample picture

1 Ответ

0 голосов
/ 02 февраля 2020

Решением этой проблемы является ограничение количества символов, которые ищет Тессеракт. Для этого вы должны:

  1. Создать файл с произвольным именем (например, «белый список») в директории конфигурации tesseract. В linux этот каталог обычно помещается в /usr/share/tesseract/tessdata/configs.
  2. Добавление в этот файл строки, содержащей только те символы, которые вы хотите найти в тексте: tessedit_char_whitelist *list_of_characters*
  3. Затем вызовите Ваш скрипт использует словарь белого списка:
    tesseract input.tif output nobatch whitelist

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

pytesseract.image_to_string(Image.open(impath), config=" --dpi 120 --psm 6 -l nobatch whitelist")
...