@alst161

Как с помощью OpenCV очистить подобные изображения?

Надо обойти капчу, изучаю возможности opencv. Не могу сделать нормально контур что бы выделить и обработать цифру. Как можно избавиться от этих полосок?
5e5956836131d342511997.gif5e59568b6dde1713483328.gif5e5956915ccf8122739908.gif5e595698c3577179779412.gif5e59569e041fa981729420.gif5e5956a2d74f4094986343.gif5e5956aba4b2e297860359.gif
  • Вопрос задан
  • 219 просмотров
Пригласить эксперта
Ответы на вопрос 3
trapwalker
@trapwalker
Программист, энтузиаст
Капча слабая:
- шрифты не варьируются,
- размер фиксированный,
- линии однопиксельные,
- шум однотипный.

Не парьтесь с лишним от линиями. Переводите изображение в lab; работайте в монохромном канале яркости. Подберите похожий шрифт и размер, обучите 10 нейронок на свою цифру каждая. Сканируйте окном с пиксельных шагом. Этого будет достаточно

Но! Линии однопиксельные толщиной, контрастные и обычно отличаются по цвету от фоновой цифры.
Прям хочется убрать, правда?
Можно это сделать алгоритмически.
Перебираем все пиксели и анализируем соседние. При нахождении контрастного пикселя запускаем алгоритм "короеда" с дополнительным условием. Если углы между первым пикселем и последующими предокрашенными начинают отличаться более чем на пороговый епсилон, который ещё и от расстояния может уменьшаться, то процесс короеда останавливаем, линия не подтверждена. По факту естественного завершения короеда берём для каждой точки средний цвет из двух в перпендикулярном линии направлении.
Ответ написан
Комментировать
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
orig AND blur orig
Размываем и перемножаем.
Получаем только крупные объекты (цифры без линий).
Ответ написан
Комментировать
mayton2019
@mayton2019
Bigdata Engineer
Полоски не помешают нейронной сети узнать символы. Не отвлекайтесь на ерунду.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы