Какой идеальный шрифт для распознавания текста?

Есть ли у кого-нибудь опыт работы с разными шрифтами для OCR? Я генерирую идентификатор, а затем пытаюсь отсканировать его с помощью tesseract. На данный момент я просто использую разные шрифты, но это кажется довольно неэффективным. Я пробовал семейство шрифтов OCR * и другие шрифты, такие как Arial и Georgia. Тессеракт часто путают со шрифтами OCR *.

Есть ли шрифт, специально разработанный для tesseract, или любой системный шрифт, который с ним хорошо работает?

FYI, см. Соответствующий вопрос о суперпользователе superuser.com/a/1543382

Martin Monperrus 25.04.2020 14:57
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
33
1
40 549
8
Перейти к ответу Данный вопрос помечен как решенный

Ответы 8

Я бы, наверное, использовал тот же шрифт, который банки используют для номеров маршрутизации внизу чеков:

http://morovia.com/font/micr.asp

Он был специально разработан, чтобы быть однозначно машиночитаемым.

Хм? Почему даунмод? Даже пояснительный комментарий?

benjismith 25.11.2008 04:23

MICR был разработан для идеального чтения с помощью магнитной технологии, а не оптики. Хотя это неплохо, но для OCR далеко не идеально.

Sparr 25.11.2008 04:23

В фильме «Поймай меня, если сможешь» были некоторые забавные вещи, связанные с MICR.

erickson 25.11.2008 04:55

Он также должен поддерживать буквенно-цифровые символы.

Chris Lloyd 25.11.2008 05:34

Tesseract-OCR изначально не обучен работе со шрифтами MICR, хотя это можно сделать ...

sventechie 04.12.2009 22:08
Ответ принят как подходящий

Хорошо, поиск в Google дает этот конкретный шрифт OCR: Шрифт OCR

Похоже, это стандарт, принятый в 1973 году.

Я всегда добивался успеха, просто используя Times New Roman.

Да, римский шрифт должен давать хорошие результаты. Убедитесь, что изображение в оттенках серого или битональное, с разрешением от 200 до 300 точек на дюйм. Но вам, вероятно, будет лучше обучить движок для ограниченного домена (алфавита / слов) для этого типа сценария использования.

sventechie 04.12.2009 22:13

Я считаю, что Calibri лучше всего подходит для меня. Мы ежедневно используем программное обеспечение OCR в автоматизированной системе, и после тестирования десятков шрифтов (включая некоторые специальные для OCR) Calibri неизменно является лучшим.

Удачи.

Страница Википедии для Calibri отмечает, что в Calibri нижний регистр L (l) и верхний регистр I «практически неразличимы», что является проблемой, если вы выполняете OCR для непрозрачного текста, такого как компьютерный код, распечатки base64 и т. д.

Law29 28.11.2017 14:25

Попробовав много разных шрифтов и Двигатели OCR, я стараюсь получить наилучшие результаты, используя Consolas. Это шрифт моноширинный, похожий на OCR-A, но легче читать для людей. Consolas входит в состав нескольких продуктов Microsoft.

Существует также шрифт открытый источникИнконсолата, который является под влиянием Consolas. Inconsolata - хорошая замена Consolas, особенно с учетом деталей лицензирования.

В моих тестах числа и пробелы в шрифте Калибри не всегда распознавались должным образом. OCR-A выдал множество ошибок чтения. Я не пробовал использовать MIRC, поскольку он не читается большинством людей.

Примечание: tesseract требует много тестирования и тонкой настройки, прежде чем станет надежным. В нашем случае мы перешли на коммерчески лицензированный движок OCR (ABBYY), тем более что надежность была очень важна, и нам нужно было поддерживать несколько (европейских) языков.

Обновлять:, 31 января 2017 г. - «на основе Consolas» заменено на «под влиянием Консоласа» из-за потенциальных проблем с авторскими правами.

как Эбби сравнивала с предыдущими итерациями с использованием тессеракта? Я рассматриваю плюсы и минусы перехода на коммерческий

Don Cheadle 03.01.2015 01:17

В 2011 году ABBYY работала 99% времени. Но меня не удивит, если сейчас доступны более привлекательные альтернативы.

Gawin 28.08.2016 13:06

Inconsolata определенно не основана на Consolas. Если бы это было так, то это была бы производная работа Consolas и не могла быть выпущена под свободной лицензией. На странице википедии используется слово «под влиянием», что в данном случае является более подходящим атрибутом. Просто укажите на это, потому что понять авторское право сложно, и полезно не использовать неправильные термины и создавать еще большую путаницу.

josch 29.01.2017 22:01

@josch В 2011 году, на момент написания статьи, в Википедии говорилось «вдохновлено» (см. журнал истории Википедии), а в интервью упоминалось «на основе». Но я понимаю, что для целей авторского права может быть более подходящим "под влиянием", я обновлю ответ.

Gawin 01.02.2017 01:16

В настоящее время используется Monospace. Пробовал очень много шрифтов, но для меня это самый точный.

Недавно я провел обширное тестирование этого в ECM под названием Laserfiche, который использует Nuance OmniPage, и обнаружил, что моноширинные шрифты плохо работают по сравнению со шрифтами с динамическим интервалом. Эти старые шрифты OCR не работают так хорошо, как более «нормальные» шрифты. Специально для строк чисел с меньшим размером шрифта, например, точка 12.

Странно, что кто-то другой добивается успеха с Calibri. Он показал очень плохие результаты в моих тестах, постоянно путали похожие буквы и цифры друг за друга. Лучшими шрифтами (среди тех, которые поставляются на компьютере под управлением Windows с установленным Office) были Consolas, Verdana и Book Antiqua. Все динамические шрифты с засечками, в которых буквы и цифры выглядят четко. Консолас был чемпионом.

Это действительно зависит от рассматриваемого механизма OCR.

Для gocr лучше всего подходит FreeMono, см. Документацию gocr.

Для тессеракта хорошо работает DejaVu-Serif, см. https://superuser.com/a/1543382/280936

Для abbyocr хорошо подходит вердана, см. это сравнение

См. Также это заключение: https://www.monperrus.net/martin/perfect-ocr-digital-data

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