Как распознать рукописный текст
Рукописный текст tesseract 4.1.1 практически не распознаёт, и обещать обратное было бы враньём. Модели, которые у нас установлены, обучены на печатных шрифтах: у них буква — устойчивая форма, повторяющаяся из строки в строку. Почерк такого постоянства не даёт, буквы связаны между собой, наклон и нажим плавают. На выходе вы получите либо пустой слой, либо набор случайных символов, который хуже пустого, потому что выглядит как результат.
Коротко о цифрах
- Прямой ответ
- рукопись не распознаётся: движок обучен на печати
- Что получится вместо текста
- пустой слой или случайные символы без смысла
- Смешанный бланк
- типографская часть распознается, вписанное от руки — нет
- Подпись и печать
- это графика, распознавать в ней нечего
- Что со сканом рукописи всё же можно
- сжать, повернуть, обрезать, объединить, подписать
Почему печатный текст читается, а почерк — нет
Распознаватель работает по формам, которые видел при обучении. Печатный шрифт даёт ровно то, что нужно: буква «а» в одном и том же документе повторяется тысячи раз одинаково, отделена от соседей пробелом и стоит на общей базовой линии. Модель уверенно узнаёт её даже при среднем качестве скана.
Рукопись ломает каждое из этих условий. Буквы соединены, у одного человека одна и та же буква выглядит по-разному в начале и в конце слова, базовая линия гуляет, а наклон меняется к концу строки. Для такого материала нужны совсем другие модели, обученные на рукописных корпусах, и их у нас нет — ни для русского, ни для казахского, ни для английского.
Что делать с рукописным документом
- Печатный бланк с рукописными полями обрабатывать всё-таки стоит: типографская часть распознается, вписанное от руки — нет.
- Если рукописных страниц немного, наберите их вручную: это честнее и быстрее, чем вычитывать случайный набор символов.
- Скан рукописи можно сжать, повернуть, обрезать, объединить с другими файлами и подписать — всё это со страницей-картинкой работает без ограничений.
- Подпись на документе распознавать бессмысленно в принципе: это рисунок, а не текст, и никакой распознаватель не превратит её в буквы.
- Печатную часть смешанного документа проверьте поиском: слой мог лечь только на неё, и это нормальный результат.
Как отличить печатное от рукописного заранее
- Откройте страницу в масштабе 100% и посмотрите на буквы: одинаковые формы и общая базовая линия означают печать.
- Проверьте промежутки: в печатном тексте буквы разделены, в рукописи чаще соединены между собой.
- Найдите повторяющееся слово в разных абзацах — в печати оно совпадает пиксель в пиксель, в рукописи всегда отличается.
- Если печатное и рукописное перемешаны на одном листе, ориентируйтесь на печатную часть: только она и будет распознана.
Частые вопросы
Совсем ничего не распознается или частично?
Практически ничего. Иногда движок выдаёт отдельные символы там, где почерк близок к печатным буквам, но связного текста из этого не выходит, а разрозненные знаки только мешают поиску по документу.
Поможет ли пересканировать рукопись крупнее?
Нет. Разрешение решает проблему слипшихся штрихов у мелкой печати, а здесь причина другая: у модели нет представления о том, как выглядят рукописные буквы. Более чёткая картинка того же почерка ничего не изменит.
Что делать с анкетой, где печатный бланк заполнен от руки?
Отправьте её на распознавание ради типографской части: заголовки, названия полей и постоянный текст станут искомыми. Вписанные от руки ответы придётся вводить самостоятельно, если они нужны в текстовом виде.
Есть ли смысл распознавать документ ради подписи?
Нет, подпись — это графическое изображение, а не набор букв. Она останется на странице в неизменном виде после любой обработки, но текстом не станет и по поиску, разумеется, находиться не будет.