Читать слова со смешанными типами символов в тессеракте
Тессеракт, похоже, предпочитает сохранять согласованность типов символов в каждом "читаемом" слове.
Пример использования pytesseract
:
tsr.image_to_string(skimage.io.imread('<image file path>'))
# '750 GONZALEZ DR APT 65\nSAN FRANCISCO.CA 94512'
tsr.image_to_string(skimage.io.imread('<image file path>', lang='ArialBold'))
# '750 GONZALEZ DR APT SB\nSAN FRANCISCO.CA 94512'
╭───╥────────────┬─────────────╮
│ ║ Interpreted│ Font │
╞═══╬════════════╪═════════════╡
│6B ║ 65 │ None │
│6B ║ SB │ ArialBold │
└───╨────────────┴─────────────┘
Кажется довольно очевидным, что "B" - это не "5", а "6" - это не "S". Он объединяет типы символов для других адресов, которые я тоже обрабатываю. Так что похоже, что tesseract предпочитает сохранять единообразие типов символов при интерпретации слова. Есть ли способ сказать тессеракту, чтобы он не предпочитал однородные типы символов для каждого слова? Очевидно, что тессеракт не всегда интерпретирует слова как имеющие одинаковые типы символов. Но возиться с моими адресами, кажется, есть предпочтение, которое я хотел бы отключить.