(тут примерно 150 каптч, но многие похожи)
Размер капчи может быть и поменьше, надо подбирать.
Интересно, как поломать такое? Генерить сравнительно просто, а обратный алгоритм не придумывается.
Я не про контур. Там буквы повторяются. Нет никаких наклонов и прочих искажений. Поэтому можно просто собрать варианты букв в шрифт и проверять на похожесть.
Некоторые сломать будет довольно просто.
Решение в лоб: порезать на буквы, взять массив белых точек каждой буквы и сравнивать с массивом белых точек эталона (чисто белой буквы)
аа, почему-то подумал, что это такая ани-капча )
В любом случае, капча не слишком сильная, зато простая для людей. Думаю, процент распознавания людьми будет около 0.8, роботами — 0.4.
Идея прикольная, но при объединении кадров буквы становятся вполне осязаемыми. Можно будет обучить тессеракт этому шрифту. Защита простая — не ставить буквы в строчку и вращать их под разными углами. Хотя, при сохранении неизменного шрифта, можно будет сделать полный перебор картинки и подобрать наиболее похожий вариант. Иными словами, еще используйте разные шрифты для каждой буквы.
Простите, но Ваш аргумент «разве что руками», звучит как-то странно. Автоматически сложить кадры анимированного гифа в один — весьма рутинная процедура. И без примеров, «контура каждый раз разные» тоже сложно оценить.
Ааааа… чукча теперь понимать… похоже, что не я один тут такой…
Думаю, что есть смысл сделать несколько отдельных кадров и снова запостить этот вопрос, т.к. многие отвечающие «повелись» на анимацию и сложение кадров…
Можно достаточно легко написать аналитический алгоритм для такой капчи с угадыванием порядка 80%, т.е. капча неэффективна. Причины: символы расположены на равномерном растоянии друг от друга, достаточно контрастны.
Если хотите сделать хорошую капчу, то посмотрите как организована KCaptcha. Обратите внимание, что там символы искажены и накладываются друг на друга. Коэффициент аналитического угадывания такой капчи менее 1%.
При желании это взломать вполне можно — только сначала надо будет набрать базу примеров. Но ничего принципиально сложного в ней нет. Хотя добавленный шум очень усложняет задачу, но вот фиксированное положение букв относительно друг-друга и отсутствие поворотов — задачу резко упрощают.
Берем и сравниваем с образцом (образцы можно получить усреднением кусков капчи, которые нам показали — надо собрать заранее). Скажем у буквы 'a' в этом месте должна быть белая точка, а в реальности либо белая, либо черная. Для каждой из версий (можно с учетом смещения) пишем количество ошибок. У кого меньше ошибок, то и наша буква.
Плюс часть зашумления предварительно можно снять фильтрами.
Это за первое приближение алгоритма вполне покатит. Дальше можно дорабатывать. Если нет нелинейных искажений, да еще и мало шрифтов, да еще и нет поворотов под разными углами — распознать никаких проблем.
За рекапчу я бы отрывал руки и выкалывал глаза. И если я терплю это говно на чужих сайтах, ломая себе глаза и вбивая ее раза с 5-го, то на своих ресурсах я терпеть это не буду.
iFrolov, Ну, бывают ситуации, когда captcha действительно нужна. А recaptcha — не хуже других, Вы ведь помните про «вкус и цвет». Все они создают неудобства.
Я и не говорю, что капча не нужна, я ее сам и делаю. Но лично меня выворачивает от рекапчи, причем как от картинок, так и от самого сервиса, особенно от недавнего его прошлого. Спасибо, накушался.
А вы уверены, что нужна именно капча? Есть же много других способов. Например, массив вопросов с ответами, из которых 1 выводится на страницу и куча форм для ввода, из которых только одна видна юзеру, остальные за экраном, под слоем или еще где. Бот должен заполнить правильным ответом определенное поле и не трогать остальные, что уже нереально, если не специально под ресурс копают. А если специально, то тут мало что поможет.
При таких искажениях поворот уже не нужен, IMHO. Вот это разбирать уже непросто.
Но теперь действительно и читаемость человеком резко упала.
Кстати, большая часть этих точек на картинке элементарно убирается простейшим фильтром (если рядом с точкой есть >6 точек одного цвета — присвоить этой точке то же значение).