OCR для списка TAN (онлайн-банкинг)

У меня есть список TAN на бумаге для онлайн-банкинга, который выглядит следующим образом:

001 123456   015 123456  029 123456  043 123456 ...
002 123456   ...
...

Я отсканировал его, и теперь я хочу использовать OCR для получения текста.

Я попробовал тессеракт, гокр и клинопись.

Все программы не дают хороших результатов. Как я могу OCR текст?

Справочная информация: я хочу сохранить список TAN в keepass. Keepass поддерживает изображения, но только версию для ПК. Версия Android нет. Вот почему я хочу текст. И текст лучше, так как вы можете использовать копирование и вставку.

2 ответа

Решение

Я нашел это решение сам:

  1. Сканирование списка TAN
  2. удалить идентификатор последовательности с Gimp. Остались только TAN. Необходим, так как в моем случае используются два разных шрифта, которые, кажется, путают OCR
  3. gocr -C 0123456789 tans.png
  4. Прямоугольное выделение в терминале: ctrl+alt select-with-mouse
  5. скопировать + вставить в tans.txt
  6. read-tan-list.py tans.txt.
  7. вставить результат, чтобы сохранить или другой пароль приложения.

read-tan-list.py:

import sys
i=0
tans=[]
for line in open(sys.argv[1]):
    line=line.strip()
    if not line:
        continue
    tans.append(line)
for i, tan in enumerate(tans):
    print('%03d %s' % (i+1, tan)),
    if i%5==4:
        print('\n'),
    else:
        print('   '),

Качество исходного изображения часто является критическим ресурсом в ocr. (попробуйте что-то вроде 600 точек на дюйм)

Я бы предложил тебе попробовать тессерат.

tesseract imagename outputbase [-l lang] 

(и, имея дело с банковским делом, очень тщательно выбирайте, что вы храните на своих устройствах...)

Другие вопросы по тегам