Как сделать программу OCR?
Я хочу сделать программу, которая принимает изображение в качестве ввода и вывода текста. Теперь я знаю, что могу использовать нейронную сеть, чтобы превратить образ одного символа в этот символ. Трудная часть: учитывая изображение с текстом в нем, как бы я создал все прямоугольники вокруг каждого отдельного символа?
Итак, какие методы используются для этого, и кто-нибудь знает о каких-либо исследовательских работах, которые обсуждают, как это сделать? Спасибо
2 ответов
базовый подход-сделать гистограмму черных точек. Во-первых: проецируйте все пиксели на линию. Глубокие долины в гистограмме указывают на разделение между линиями (попробуйте разные углы, если бумага может быть наклонена). Затем, в строке (или в разделе Если вы знаете шрифт моноширинный) проект пиксели на горизонтальной гистограммы. Это даст вам четкое представление о межсимвольных пространствах. Как минимум, это дает вам значение средней высоты и ширины символа, которое поможет вам в следующих шагах.
после этого вам нужно позаботиться о кернинге (где символы перекрываются). Найдите подключенные пиксели, возможно, сначала сделав расширение или эрозию изображения, чтобы компенсировать артефакты сканирования.
в зависимости от качества изображения сканирования вам, возможно, придется использовать более продвинутые методы, но это поможет вам.
Это не похоже на искусственный интеллект, похоже, вы говорите об OCR:
http://en.wikipedia.org/wiki/Optical_character_recognition
см. google tesseract
http://code.google.com/p/tesseract-ocr/
редактировать