Задать вопрос
@alst161

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

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

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

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

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

Похожие вопросы