Потом слова можно выделить, используя Connected-component labeling ( ) наверное.
Определить где текст (блоки текста), правильно повернуть его, определить, был ли клик внутри этой области.
Тут надо решить много задач:
Если же искать частично белые строки, то есть вероятность определения пробела между символами, как пробела между словами.
Это не всегда будет работать, т.к. изображение не всегда текст из книги. А даже если и из книги, то там могут быть картинки. Т.е. не всегда текст будет выровнен по сетке.
>> Идём в одном направлении (верх, вниз, влево или вправо) и ищем 1-2 полностью белых строки. Записываем координаты внутренней;
Дальше уже идёт разбивка на буквы.
Повторяем для неё;
Получаем область ограниченную внутренними координатами;
Повторяем для всех направлений;
Идём в одном направлении (верх, вниз, влево или вправо) и ищем 1-2 полностью белых строки. Записываем координаты внутренней;
Сначала обесцвечиваем и уменьшаем количество цветов до 2 (чёрный и белый);
У кого-нибудь есть другие идеи? Как сегментация слов и картинок реализована в OCR движках?
На данный момент реализован алгоритм, идея которого заключается в подсчете светлых пикселей в столбцах и строках несколько раз. Но он нуждается в доработке и подборке коэффициентов.
Универсальность подразумевает под собой работу с любыми размерами, цветами шрифтов и как можно большим количеством типов шрифтов.
Выходными данными является прямоугольник Left, Top, Width, Height (на рисунке отмечен голубым цветом).
Входными данными является точка X, Y (на рисунке отмечена красным крестиком).
Подскажите пожалуйста универсальный, стабильный, не очень сложный алгоритм для поиска ближайшей прямоугольной области, содержащей слово, на изображении от заданной точки.
Алгоритм определения прямоугольной области, содержащей слово, на изображении
Алгоритм определения прямоугольной области, содержащей слово, на изображении / Q&A / Хабрахабр
Комментариев нет:
Отправить комментарий