Как стать автором
Обновить

Комментарии 11

НЛО прилетело и опубликовало эту надпись здесь
И для такого подхода, что горка, что улыбка — все равно.

Как вы планируете разбивать на символы «горку» или «улыбку»? Они не в статичном положении представлены, а «гуляют» по canvas от капчи к капче.
А вот направление с шумами интереснее, но читабельность страдает.

Здесь оно тупиковое, т.к. цвета пикселей в словах и фоне пересекаются. И при denoise отлетает часть слова вместе с вычищенным фоном.

*Речь скорее о «штатных» подходах, не обязательно сразу обращаться к CNN.
НЛО прилетело и опубликовало эту надпись здесь
В том-то и фокус, что по яркости не разделить. В буквах и фоне одни и те же цвета.

Вовсе не привязана. Но как вы здесь обучать собираетесь?
НЛО прилетело и опубликовало эту надпись здесь
пример дайте — картинку.

Берите любую, к статье приложены.

координаты границ букв

Так координаты меняются постоянно.
НЛО прилетело и опубликовало эту надпись здесь
Совсем по учебнику, легкое размытие по Гауссу + Otsu's threshold:

image

Этого не хватит?
Вполне. Осталось понять, как «нарезать» буквы, расположенные каждый раз в разных местах, для целей обучения CNN. Если, конечно, мы пойдем этим путем.
Если просто «нарезать», то, насколько я помню, connected components уже есть в «Симпсонах» в OpenCV. Проблемы с отваливающимися частями букв вроде i или й, думаю, можно решить, приклеив компоненты со слишком маленькой площадью к ближайшим компонентам побольше.

Если речь о том, чтобы не только нарезать на буквы, но и выровнять горизонтально ужос вроде картинки с «ashes innermost», то, конечно, уже интереснее. Для начала, я бы попробовал что-то вроде следующего:
  • поделить на несвязанные компоненты (см. выше)
  • для каждого компонента найти геометрический центр (есть в OpenCV)
  • связать каждый центр отрезками с двумя ближайшими центрами, после чего удалить две самые длинные связи — должна получиться цепь упорядоченных символов, а если распрямить полученную ломанную в прямую и поморфить изображение соответственно — то и эти символы должны выстроиться в более-менее ровный ряд
  • ну и далее читаем Тессерактом или чем там еще
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации