Кто-нибудь знает библиотеку С ++ для получения изображения и выполнения на нем распознавания изображений, чтобы он мог находить буквы на основе заданного шрифта и / или высоты шрифта? Было бы неплохо даже тот, который не позволяет вам выбрать шрифт (например: readLetters (Image image).





Хотя я не могу порекомендовать что-то конкретное, вам нужен термин OCR (оптическое распознавание символов).
Для этого существует профессиональная библиотека tesseract-ocr.
Оттуда веб-сайт
The Tesseract OCR engine was one of the top 3 engines in the 1995 UNLV Accuracy test. Between 1995 and 2006 it had little work done on it, but it is probably one of the most accurate open source OCR engines available
Я думаю, что вам нужно Гипотеза. Раньше был проектом libgocr. Я не использовал его несколько лет, но раньше он был очень надежным, если вы настроили ключ.
В последнее время я много занимаюсь этим. Лучшее для вас - это просто Tesseract. Если вам нужен анализ макета поверх OCR, используйте Ocropus (который, в свою очередь, использует Tesseract для распознавания текста). Под анализом макета понимается способность определять положение текста на изображении и выполнять такие действия, как сегментация строк, сегментация блоков и т. д.
Экспериментируя с Tesseract, я нашел несколько действительно полезных советов, которыми стоит поделиться. В основном мне приходилось делать много предварительной обработки изображения.
Если у вас есть сильно настроенный шрифт и вы используете только tesseract, вам нужно «обучить» систему - в основном вам нужно передать кучу обучающих данных. Это хорошо задокументировано на сайте tesseract-ocr. По сути, вы создаете новый «язык» для своего шрифта и передаете его с параметром -l.
Другой механизм обучения, который я обнаружил, был с Ocropus с использованием обучения nueral net (bpnet). Для построения хорошей статистической модели требуется много входных данных.
С точки зрения вызова Tesseract / Ocropus оба являются C++. Это будет не так просто, как ReadLines (Image), но есть API, который вы можете проверить. Вы также можете вызвать через командную строку.
К сожалению, лучшая документация находится на их веб-сайте и при чтении файлов заголовков и сценариев LUA, которые они предоставляют.
Библиотека Tesseract OCR дает довольно точные результаты, это библиотека C и C++. Мои первоначальные результаты были точны примерно на 80%, но после предварительной обработки изображений перед отправкой для оптического распознавания текста результаты были точными примерно на 95%. Что такое предварительная обработка:
1) Сделайте бинаризацию растрового изображения (у меня лучше работал ч / б). Как это могло быть сделано
2) Передискретизация изображения до 300 dpi.
3) Сохраните изображение в формате без потерь, таком как LZW TIFF или CCITT Group 4 TIFF.
Спасибо, это полезно. Не удалось найти в Google ничего с тем, что я использовал.