Распознавание текста из изображения
Есть задача сдедать програму на java для распознавания кирилличного текста шрифтом семейства Times (без цифр и специальных символов) из картинок и его вывода. Сложность в том, что нельзя использовать библиотеки, которые решают эту задачу. Понимаю, что вопрос достаточно обширный, может есть у кого идеи или примеры?
Ответы (1 шт):
Автор решения: Qwertiy
→ Ссылка
Шрифт известен, значит всё просто:
- Нарезаем картинку на строки (если предполагается многострочный текст).
- Нарезаем строки на связные области.
- Если некая область не касается базовой линии текста, то объединяем её с областями, имеющими существенное пересечение по горизонтали. На этом шаге диакритические знаки должны объединиться с буквами, а составные знаки препинания в единое целое:
йё;:%. - Опционально масштабируем к эталонному размеру (можно даже растягивать к фиксированному).
- Каждую область сопоставляем с заранее заготовленными шаблонами букв. Могут понадобиться шаблоны лигатур, например, для "ft". В некоторых случаях понадобятся шаблоны частей символов:
№. Выбираем то, что наиболее совпало. - Разбираемся с объединением частей символов, потенциально заменяем парные апострофы на кавычки.
- Отдаём получившуюся строку.