OCR для текстовых капч: где ломается распознавание и как поднять точность
Пробиваем защиту любой сложности: для текстовых капч OCR работает только если входной поток заранее нормализован. Без этого библиотека уверенно читает цифры и крупный шрифт, но тонет на шуме, наклоне, разрывах символов и слабом контрасте.
Первый фильтр — препроцессинг: grayscale, бинаризация, удаление фона, выравнивание по оси. Если капча содержит цветные артефакты или полосы, полезно отдельно вырезать область текста и прогонять её через несколько порогов. Один и тот же кадр часто даёт разный результат на разных параметрах.
Второй слой — post-processing. Для OCR это не роскошь, а обязательная страховка:
• whitelist по ожидаемому алфавиту
• исправление частых путаниц: O/0, I/1, S/5
• проверка длины строки и шаблона
• пересборка ответа при низкой confidence
Бенчмарк сервисов решения капчи: локальный OCR выгоден там, где текст однотипный и поток стабильный. Если капча генерирует редкие шрифты, разный интервал и сдвиг символов, точность падает быстрее, чем растёт latency. В таком случае спасает только каскад: несколько попыток распознавания, сравнение confidence и отказ от «слепой» отправки.
Снижаем косты на распознавание: сначала режем мусор на входе, потом жёстко валидируем ответ, и только потом отправляем капчу в парсер. Это даёт более стабильный флоу, чем попытка «вылечить» слабый OCR одним большим списком исключений.
Анти-капча стек
@anti_captcha_stack_ubt
OCR для текстовых капч: где ломается распознавание и как поднять точность
Этот пост опубликован в Telegram-канале Анти-капча стек. Подписаться можно по ссылке: @anti_captcha_stack_ubt.