Russian (Русский) - Change language

Поиск цифровых строк

Для поиска цифровых строк используют элемент типа Character String. При очень хорошем качестве изображений в качестве словаря можно задать регулярное выражение. В случае, когда качество изображений в пакете варьируется, необходимо задать список символов, которые могут содержаться в соответствующем поле. При неудовлетворительном качестве изображения или заполнения цифры могут распознаваться, как другие символы. Например, “8” может быть распознана как “В”, “7” как “?”, “5” как “S”, “4” как “H”, комбинация букв “LI” (или “Ч” в случае кириллицы), “1” как “I”, “0” как “О” или “С” и т.д. Это может происходить, например, при “слипании” цифр, что довольно часто наблюдается при заполнении на пишущей машинке.

В принципе степень “похожести” результата распознавания на оригинальный символ очень сильно зависит от качества изображения. Если на всех или большинстве обрабатываемых изображениях прослеживается тенденция ошибочного распознавания тех или иных символов, то для правильного нахождения соответствующего поля данных рекомендуется добавить обнаруженные варианты распознавания в разрешенный алфавит в окне Edit Alphabet соответствующего элемента Character String. Задавая эти символы, вы сообщаете программе, что в случае их обнаружения в области поиска, за них не следует штрафовать соответствующую гипотезу.

Замечание. Безусловно, нет необходимости задавать ВСЕ возможные варианты распознавания. Если качество изображений плохое, то просмотр всех изображений с целью выявления таких ошибок может вылиться в трудоемкую задачу. Если результаты распознавания цифровых строк из-за плохого качества непредсказуемы, то следует при поиске поля опираться не на допустимый набор символов, а на другие свойства элемента, такие как длина строки, длина пробела внутри строки и пр.

Необходимо задать символы, похожие по начертанию на цифры. Для них вероятность ошибочного распознавания выше, чем для всех остальных. При необходимости можно задать и другие символы, если распознавание их вместо цифр происходит регулярно.

Проиллюстрируем это на примере проекта 1.fsp (папка %public%\ABBYY\FlexiCapture\12.0\Samples\FLS\Tips and Tricks\Digital strings\Project1).

В проекте находятся 3 страницы.

  • Страница 1 – цифра 4 распознана как комбинация букв “LI”;
  • Страница 2 – подстрока 13 распознана как буква “е”;
  • Страница 3 – цифра 0 распознана как “a”, 2 и 5 распознаны как “S”, 6 и 8 – как “B”.

Для нахождения цифровой строки мы создали элемент типа Character String с именем DigitalString и задали в качестве алфавита только цифры. Допустимый процент неалфавитных символов мы задали 20.

После запуска процедуры наложения гибкого описания на всех страницах цифровое поле на странице 3 оказалось найдено не полностью. Качество гипотезы составило примерно 0,98. На страницах 1 и 2 строка оказалась найдена. Но в силу того, что в ней были обнаружены символы, не заданные в алфавите, соответствующие гипотезы оказались оштрафованы и составили примерно 0,978 и 0,982 соответственно.

Теперь посмотрим, каков будет результат наложения гибкого описания в случае, если дополнить алфавит символами, которые были распознаны вместо цифр: L, I, e, a, B, S.

Результат наложения гибкого описания можно увидеть в проекте 2.fsp (папка %public%\ABBYY\FlexiCapture\12.0\Samples\FLS\Tips and Tricks\Digital strings\Project2). Все остальные настройки в обоих проектах совпадают.

Как видно в пакете на странице 3 строка теперь находится целиком. Качество найденных гипотез на всех страницах составило 1.

01.12.2020 7:04:05


Please leave your feedback about this article