Войти
Компьютерный журнал для новичков и профессионалов
  • Эксперт рассказал, как правильно заряжать аккумуляторы iPhone и iPad
  • Заводской сброс Philips S257 Телефон филипс сброс настроек стер контакты
  • От чего зависит качество фотоизображения От чего зависит качество изображений в фотоаппарате
  • Что делать, если ваш смартфон не заряжается
  • Как открыть текстовые файлы в телефоне
  • Как снять бан в Warface – способ
  • Программа которая вводит капчу за вас. Тестируем универсальную распознавалку CAPTCHA. Список сервисов распознавания капчи

    Программа которая вводит капчу за вас. Тестируем универсальную распознавалку CAPTCHA. Список сервисов распознавания капчи
    • Распознование капч с помощью сервисов распознования и встроенными инструментами работает и в бесплатной версии программы
    • Цитата Wikipedia
      - CAPTCHA
      (от англ. Completely Automated Public Turing test to tell C omputers and Humans Apart - полностью автоматизированный публичный тест Тьюринга для различия компьютеров и людей) - товарный знак Университета Карнеги - Меллона, в котором разработали компьютерный тест, используемый для того, чтобы определить, кем является пользователь системы: человеком или компьютером.

      Все чаще в интернете при работе по автоматизации,регистрации,добавлении сообщений, комментариев, объявлений и так далее, мы сталкиваемся с тестом распознования, кем является пользователь системы: человеком или компьютером. Данный компьютерный тест называет "CAPTCHA" и зачастую он распространятся с каждым днем все больше и больше, соответственно и алгоритм и сложность данного теста постоянно усовершенствуется, чтобы уменьшить уязвимость обхода теста и его распознования.
    • В итоге на данный момент мы имеем различные виды капч, основные, которые чаще встречаются я опишу ниже:
    • №1 yaCAPTCHA

      Это один из самых первых и распространенных видов защиты от спама. Обычно его ставят для регистрации на форумах и сайтах. Для блогов, я бы не советовал его ставить, так как капча довольно таки сложная, и некоторые пользователи просто из-за лени ее распознавать и вводить, просто не захотят оставлять комментарий. №2 Anti Spam Image


      Очень похожая на первый вид капчи, но здесь рядом с картинкой выводится примечание, например «вводить только красные символы», или «вводить только цифры» или «вводить только буквы». Тем самым если у спамеров есть робот, который умеет распознавать символы с картинки, то он логически введет все символы, а не именно те, что требуются в примечании. №3 SI Captcha Anti-spam


      Так же как и первые 2 вида, данный плагин, выводит капчу в виде цифр и букв, но здесь есть возможность прослушать, то что изображено на картинке.
      №4 reCAPTCHA


      Еще одна разновидность капчи с выводом символов, здесь так же есть возможность воспроизведения символов на картинке. Обычно форма с капчей состоит из двух слов. Этот вид, тоже больше подходит как капча на сайт, где требуется регистрация, чем капча на блог, где нужно просто оставить комментарий. №5 Simple CAPTCHA


      Капча выводит различные символы, их нельзя прослушать, но если они не видны, то нажав на соседнюю кнопочки символы на картинке можно заменить. При этом не обновляя страницу, то есть не теряя написанного комментария в поле. №6 Math Comment Spam Protection


      Здесь на форме с капчей выводятся два числа, но вводить надо не их, а их сумму. Опять же если робот сможет распознать цифры на картинке,то сложить их и вписать в поле их сумму, для робота уже проблематично. №7 WP-NOTCAPTCHA


      Это довольно таки забавная и простая капча для человека, но трудная для робота. Здесь просто надо передвигать ползунок под картинкой так, что бы картинки расположились вертикально. №8 ImHuman


      Тоже довольно таки интересная форма с капчей, и в тоже время очень сложная для роботов. Здесь выводятся несколько картинок, и надо выбрать из них одну, которая написана в примечании. №9 Checkbot



      Этот вид капчи является одним из самых простых и удобных способов защиты от спама. Здесь просто нужно выбрать человечка с поднятой рукой. №10 Dcaptcha – Я не робот(YA-ne-robot)


      Это самая простая капча, для блогов. Здесь, как вы видите, что бы подтвердить то, что вы человек, а не робот, вам просто нужно поставить галочку. Но со всей этой рутиной по разгадыванию каптчи справится наша программа Human Emulator с помощью соответствующих сервисов капч.

      Принцип работы данных сервисов прост. Вы регистрируетесь в любом сервисе удобным для вас, пополняете счет на нужную вам сумму. В своей учетной записи найдете «captcha ключ»
      он же $api_key
      – это ключ сервиса распознания, который нужно указывать в разных программах, в том числе и нашей для подключения соответственного сервиса. Вот как все работает, данный алгоритм аналогичен для большинства сервисов каптч:

      1. Ваше приложение загружает капчу нам на сервер и получает ее уникальный ID . (Через HTTP POST, методами multipart или base64).
      2. Ожидаем 10 секунд (среднее минимальное время, за которое наши работники вводят текст с капчи).
      3. Делаете HTTP GET
      запрос с ID капчи на наш сервер. Получаете либо текст с капчи, либо код CAPCHA_NOT_READY
      , означающий что она еще не готова.
      4. Если получили CAPCHA_NOT_READY , делаете повторную попытку через 5 секунд (шаг 3).
      5. Если получили OK|SOME_TEXT_HERE , то SOME_TEXT_HERE и есть ваш текст с капчи.

    • В Human Emulator есть восемь функций для распознавания капчи, такие как:
      recognize_captcha
      - распознать картинку с диска как капчу.
      recognize_by_anticaptcha
      – распознать капчу картинки через сервис антикапча
      recognize_by_rucaptcha
      – распознать капчу картинки через сервис rucaptcha.com
      recognize_by_captcha24
      – распознать капчу картинки через сервис captcha24.com
      recognize_by_ripcaptcha
      – распознать капчу картинки через сервис ripcaptcha.com
      recognize_by_evecaptcha
      – распознать капчу картинки через сервис eve.cm
      recognize_by_bypasscaptcha
      – распознать капчу картинки через сервис bypasscaptcha.com
      recognize_by_captchabot
      – распознать капчу картинки через сервис captchabot.com
    • Давайте для наглядности рассмотрим пример распознования капчти google с помощью сервиса antigate.com
    $xhe_host = "127.0.0.1:7011" ; // The following code is required to properly run XWeb Human Emulator require ("../../Templates/xweb_human_emulator.php" ) ; // Переходим на пример капчи на сайте google $browser -> navigate ("http://google.ru/sorry" ) ; //Распознаем капчу и вводим ваш индивидуальный api_key echo $captcha = $image -> recognize_by_anticaptcha ("/sorry/image?id=" , "C:\T emp\1 .jpg" , "$api_key – это ваш ключ сервиса распознания" , "http://antigate.com" ) ; //Вводим результат капчти в нужное поле $input -> send_keyboard_input_by_name ("captcha" , "$captcha " ) ; // Quit $app -> quit () ;
  • Ниже приведены ссылки на описание объектов содержащих функционал, позволяющий воспользоваться API сервисов для распознования капч.
  • В нынешнем времени сервисы по работе с каптчами все более актульны и востребовательны для использования их в различных интернет ресурсах и сервисах, они стремительно развиваются и наращивают свой функционал, вместе с этим программа HumanEmulator старается идти в ногу со временем и все больше внедряет в свою внутреннюю структуру функционала по работе с данными сервисами. Подведя итоги вышенаписанного, можно с уверенностью сказать, что при работе в тандеме(связке) сервисов каптч и нашего софта, можно легко и с уверенностью разгадывать большинство типов каптч представленных в интернете. Но совершенству нет предела и поэтому мы будем с радостью добавлять и внедрять все новое, что будет связано с данными сервисами и функционалом.

    Мы выпустили новую книгу «Контент-маркетинг в социальных сетях: Как засесть в голову подписчиков и влюбить их в свой бренд».


    Капча - тест на человечность, используемый для защиты ресурса от спама и роботов. Но честным людям она мешает, например, проверить позиции сайта. Поэтому ее взламывают с помощью инструментов, основанных на слабых местах технологии. Сегодня расскажем, как противостоять капче.

    Кому нужно обходить капчу

    Ее обходят не только спамеры для создания большого количества новых ящиков, комментариев на форумах, страниц в социальных сетях для дальнейшего распространения спама. Защиту нужно обходить и честным компаниям для получения результатов в автоматическом режиме. Например, владельцу сайта для проверки позиций в поисковой системе или ресурсам, занимающимся автоматическим сбором тематической информации.

    Грубый перебор всех вариантов

    Еще когда создавались капчи, вопросы и ответы придумывали вручную и их было ограниченное количество. Это значит, что побыв некоторое время на сайте и собрав все возможные ответы, их можно было собрать в базу данных и использовать для взлома.

    Как защититься: генерировать варианты автоматически, чтобы их нельзя было предугадать или собрать все возможные ответы. Сейчас это уже не вызывает проблем, буквы и символы собираются автоматически, как и арифметические примеры.

    Получение имени поля

    Как взломать: достаточно взять имя поля капчи из кода и с помощью программы перехватывать его значение, если оно никогда не меняется.

    Как защититься: использовать динамическое имя поля, то есть каждый раз изменяемое. Оно обязательно должно быть зашифровано, чтобы другие программы не могли его считать и получить ответ. Ключ к расшифровке будет находиться на сервере, получить его нельзя без доступа к серверному скрипту.

    Например, капча хранится в поле Captcha. Тогда очень просто создать программу, которая будет читать значение из него. Подобрать имя можно вручную или использовать базы наиболее популярных, которые хранятся в открытом доступе. Однако, если имя постоянно называется по-иному и не просто словом, а например, последовательностью букв «fghtn» или «qpvbn», то отследить это будет сложнее. И наиболее безопасный вариант: зашифровать эту последовательность.

    Обход капчи с помощью OCR

    OCR - технология распознавания текста для преобразования в цифровой вид, доступный для редактирования. Пример популярной программы - ABBYY FineReader. Из бесплатных, но менее известных: ocropy , . Все что нужно: настроить необходимые параметры и загрузить картинку.

    Метод также используется для распознавания капчи онлайн. Программа считывает картинку и вводит значения в поле. Как работает алгоритм внутри:

    1. Изображение с буквами или цифрами очищается от шумов для четкого распознавания символов.
    2. Оно разбивается на отдельные фрагменты с одним знаком.
    3. Каждый символ сравнивается с оригиналами, заранее загруженными в базу.
    4. В конце выводится итоговое значение.

    Для защиты от взлома с помощью OCR, создаются специальные капчи с большим количеством шума, непонятными символами. Знаки могут быть так искажены, что даже человек с первого раза не найдет правильный ответ.

    Для обхода нужно найти разные оригиналы, чтобы в большинстве случаев система смогла правильно определить символ. Нужны разные шрифты и кодировки.

    Как защищают капчу от OCR:

    • накладывают на изображение шумы того же цвета, что и основные символы;
    • добавляет лишние знаки и отдельно текстом просят ввести лишь некоторые из них, а не все подряд (как сделает это робот);
    • буквы и цифры располагают на разном уровне;
    • используют уникальное, нестандартное оформление.

    Применяемые меры препятствуют автоматическому вводу символов.

    Написанные скрипты

    Этот способ не является полноценным для обхода. Его используют как вспомогательный, что система OCR могла максимально четко опознать символы.

    Программист пишет с использованием специальных библиотек скрипт, который:

    • предварительно очищает картинку от шума, лишних знаков, фона;
    • работает с цветами, чтобы они не мешали процессу распознавания;
    • обрезает ненужные области, оставляя только знаки;
    • выравнивает текст.

    Использование прокси

    Прокси-сервисы позволяют пользователю находится в сети анонимно. Таким образом, он скрывает свой настоящий IP-адрес, местоположение и другую информацию о себе. Отследить его становится невозможным без специального оборудования, поэтому блокировка по IP не совсем удачна.

    Для обхода нужно иметь доступ к базам прокси-сервисов. Они могут быть как бесплатными, там и распространяться коммерчески на закрытых сайтах. Основной алгоритм состоит в постоянной смене IP. В этом случае сайт может и не выдавать капчу, потому что одни и те же действия совершаются разными адресами.

    Этот способ обхода был придуман одним из первых.

    Как с помощью Google взломать его же капчу

    В 2017 году один разработчик выложил в своем блоге способ обхода reCaptcha от Google, детально описав весь процесс.

    Этот вид капчи отличается от остальных тем, что пользователю показывается изображение, деленное на несколько частей. Его просят указать все фрагменты, на которых изображен предмет X. Он отмечает их галочками, и если все верно, ответ засчитывается. У нее есть также аудио-аналог, когда робот называет цифры, и текстовый с тестом, который решит может только человек.

    Основной алгоритм был следующим. Нужно было скачать аудиофайл и переконвертировать его в формат WAV, который распознает Google Speech Recognition API. В результате он получал цифровую последовательность, которую загружал на сайт и получал готовую капчу. Если попадался именно текстовый вариант, то страница просто обновлялась до тех пор, пока не будет именно аудиоформат.

    1. Ориентируйтесь на соотношение цены и объема работы. Для распознавания нескольких тысяч капч в день выбирают более дорогие варианты программ, способных обрабатывать много информации. Если цели меньше, подойдут онлайн-сервисы, большинство которых бесплатны.
    2. При выборе бесплатного сервиса, проверяйте на наличие дополнительных ограничений. В идеале, их не должно быть. Например, лимиты на распознавание или триал-время.
    3. Если вы останавливаетесь на бирже с исполнителями, проверьте ее репутацию, прочитав отзывы на различных источниках. Некоторые разводят не только исполнителей, но и заказчиков.
    4. Скачивайте программы с проверенных источников. Сейчас на рынке становится меньше программ, их вытесняют серверы, которые не нужно устанавливать на компьютер и работают они круглосуточно.

    Программы и сервисы для распознавания капчи

    Из программ по распознаванию капч можно выделяется CapMonster 2 . Она основана на технологии OCR. Стоимость зависит от количества поток - 1, 5 и 20, и соответственно, 37$, 57$, 97$.

    Основные возможности:

    • высокая производительность - миллионы капч за сутки;
    • большая база поддерживаемых капч;
    • обучение новым типам капч как со стороны разработчиков, так и со стороны пользователя;
    • покупка дополнительных поток для профессионального тарифа.

    Вернуть программу можно в течение 14 дней после покупки, а абонентская плата вносится ежегодно.

    Биржи с исполнителями - универсальное решение. Во-первых, капчи распознаются за естественное время. Роботы работают быстрее человека в несколько раз, поэтому сайт, использующих защиту, увидит по статистике взлом. Но если капчу вводит человек, то аналитика будет в пределах нормы.

    Во-вторых, доступны все виды капч, которые можно распознать человеком. Это не гарантирует 100% обхода, потому что все могут ошибаться.

    В-третьих, это дешево. Обычно до 50 рублей за 1.000 штук, но за сложные может быть и 150.

    Примеры бирж с исполнителями:

    Уточняйте правила работы с сервисами в правилах пользовательского соглашения.

    Подводим итоги

    Программисты могут допускать ошибки из-за невнимательности, из-за недостаточного тестирования либо просто из-за незнания. Хакеры пользуются изъянами в безопасности и находят способы разрушить систему. Создаются специальные программы для автоматического распознавания капчи и сервисы онлайн, которые работают и платно, и бесплатно.

    Доброго времени суток, дамы и господа.

    Сервисы автоматического распознавания капчи могут помочь в самых разнообразных ситуациях. Например, они значительно облегчают работу программ для сбора семантического ядра – Кей Коллектор, СловоЁб и т. д., приложений для проверки текста на уникальность и рерайт – AntiPlagiarism.

    При больших объемах того же текста или запросов, вы можете столкнуться с тем, что запрос на ввод капчи будет вылетать каждые 10 секунд. Не очень удобно, правда? Антикапча лишает вас необходимости вводить эти самые цифры и буквы вручную. Это делают другие люди, которые зарабатывают на их разгадывании. Вам нужно лишь оплатить услуги сервисов, которые предлагают автоввод капчи.

    Большая часть программ, которая сотрудничает с онлайн-сервисами (Вордстат, Гугл Аналитика и т. д.), требует постоянного ввода капчи. Таким онлайн-проектам не выгодно, чтобы с ними работали боты, поэтому они всеми силами пытаются с этим бороться.

    Но как быть простым вебмастерам, которые решили собрать семантику или спарсить данные с сервисов аналитики? Делать вручную? Не очень разумное решение, тем более, что сейчас полным-полно программ для расшифровки капчи, причем бесплатных.

    Капчу разгадывают реальные люди, получая за это вознаграждение. Они работают в специальном окне, скрипт которого перенаправляет капчу из вашей программы прямо к ним. При правильном вводе происходит автозаполнение. Ваше приложение работает без перебоев и вам больше не надо беспокоиться по этому поводу.

    Сайты распознавания капчи предлагают своим работникам фиксированную ставку за капчу. Вам, как клиентам, нужно внести определенную сумму на баланс. Потихоньку она будет убывать.

    Сервисы автоматического ввода не требуют больших вложений. 300 – 400 рублей на несколько месяцев, а то и полгода, будет вполне достаточно. Но это зависит еще и от количества использования.

    С помощью специальных кодов или данных от аккаунта на таком сайте, вы сможете интегрировать нужное приложение с сервисом.

    Список онлайн-сервисов для распознавания капчи

    Если вы тоже хотите, чтобы ваши утилиты работали в режиме “авто”, то вам нужно ознакомиться с этим списком. Здесь я представлю на ваш суд наиболее популярные сайты, которые помогут избавиться от нужды вводить капчу вручную.

    RuCaptcha

    RuCaptcha – популярный проект, который решает проблему работы со многими приложениями. Цены здесь повыше, чем в остальных, на 10 рублей, но зато качество и скорость работы этому соответствует.

    Умеет работать со всеми типами проверки на робота, поэтому вы можете не беспокоиться, если вдруг выскочит новая капча от Гугла, где нужно выбрать какие-то дорожные знаки и т. д., пользователи РуКапчи легко с этим справятся за пару минут.

    В остальном сервис похож на остальные. Легкое API, интеграция почти с любой программой и, что самое главное, – большое количество исполнителей. Многие люди знают, в свободное время, помогая тем самым простым пользователям.

    2Captcha

    Англоязычный ресурс, очень похож на РуКапчу. Средняя цена за 1 000 разгадываний – полбакса. Исходя из этого, можно прийти к выводу, что цены, как на рынке СНГ.

    2Captcha отлично работает с Гуглом. Как правило, там англоговорящие работники, которые специализируются чисто на гугловских капчах. С русскими вариантами (от того же Яндекса) может возникнуть проблема. Но, думаю, свой исполнитель найдется и там.

    Anti Captcha

    Anti Captcha – современный сервис (бывший Антигейт), который предоставляет услуги по автоматическому разгадыванию символов. Проект отличается максимально упрощенным API, большим количеством исполнителей и низкими ценами.

    Сравнительное дешевые расценки и качественное исполнение услуги точно не оставит вас равнодушными. Сайт известен в Рунете, а потому среднее время разгадывания символов составляет всего 10 – 15 секунд. То есть вам вообще почти не придется ждать, пока именно вашу капчу разгадают.

    Проект пригоден для распознавания прямо в браузере. Обоюдно полезный вариант, который может помочь заработать новичкам, и в то же время облегчить работу профессионалам.

    Какой из сервисов выбрать – решайте сами. Каждый обладает своими достоинствами и недостатками. Можно сказать одно: каждый проект работает уже достаточно длительное время. Вы можете не беспокоиться, что вас обманут, украдут ваши деньги или зашлют какие-нибудь вирусы на ПК. Такого точно не будет, однако, этого не скажешь про других.

    Будьте внимательны при выборе сервиса антикапчи. В Рунете полным-полно фейков, которые занимаются мошенничеством. Если вы вдруг решили попробовать более дешевый неизвестный проект, то лучше бы вам перед использованием проверить отзывы о нем. Вполне возможно, что это фишинговый ресурс, который занимается сбором денег с доверчивых пользователей.

    Инструкция по работе с сервисами

    После того, как вы выберете онлайн-сервис антикапчи, вам нужно будет как-то его использовать. Обычно в таких сервисах есть специальные ключи – их вы получаете в своем аккаунте, после чего вводите в специальное поле приложения. В рамках сегодняшнего материала я рассмотрю РуКапчу.

    Переходим в раздел “API вебмастеру”, где видим примерно такую картину.

    Здесь есть поле “captcha KEY” – оно-то нам и нужно. Копируем этот ключик и идем в настройки антикапчи нашей программы.

    Ставим галочку “Использовать сервис антикапчи”, выбираем сервис из выпадающего списка и вставляем ключ. Готово! Теперь наше приложение будет автоматически “разгадывать” капчу при помощи соответствующего сервиса. Больше никаких действий от вас не требуется. Только своевременно пополняйте счет на сайте.

    Настройки во всех этих программах почти не отличаются. И в Кей Коллекторе, и в СловоЁбе, и в любом другом приложении все будет выглядеть примерно так, как я описал.

    Заключение

    Теперь вы знаете, как обойти ввод символов и различные проверки “Вы не робот?” с помощью онлайн-сервисов. Удобная практика и простая реализация. Вы можете навсегда убрать капчу из своей жизни, лишь изредка пополняя баланс. Как правило, на такие проекты уходит очень мало денег, но зато сколько пользы.

    В том же Кей Коллекторе эта капча может очень часто вылетать, мешая вам выполнять свою работу. А так, подключили программу к сервису, запустили сбор семантического ядра и можно заняться своими делами. То же касается и других утилит, которые требуют постоянного ввода символов.

    Если, Вы часто работаете с сервисами, которые требуют распознавание капчи, то рано или поздно начинаете задумываться о том, как этот процесс автоматизировать. Особенно, это касается тех пользователей, которые работают со скриптами iMacros.

    Например, Вы используете скрипт iMacros для автоматической подачи объявлений на бесплатные доски объявлений (либо размещаете объявления вручную), и на каждой доске Вам необходимо вводить капчу.

    На самом деле, эту задачу очень просто решить с помощью сервиса автоматического распознавания капчи Anti-Captcha .

    Сервис позволяет автоматически разгадывать капчу прямо в браузере. Для этого необходимо установить плагин для браузера и при необходимости настроить под свои нужды.

    При заходе на страницу, содержащую капчу, плагин автоматически обнаружит ее и отправит распознавать (можно отменить эту опцию в настройках плагина).

    Огромным плюсом, является возможность с помощью этого метода решать занудную reCAPTCHA. Установили плагин и забыли о том, как выбирать изображения с дорожными знаками, домами и т. д.

    Пример автоматического распознавания reCAPTCHA с помощью плагина.

    Отправка капчи на распознавание.

    Через несколько секунд капча решена.

    Еще несколько примеров.

    Решение капчи Яндекса.

    Решение капчи на доске объявлений.

    Таким же способом можно решать и другие капчи, например капчу Вконтакте или капчи на биткоин кранах и т. д.

    Если, плагин не видит капчу, Вы можете с помощью меню указать ему капчу и поле ввода для капчи.

    Цены в сервисе, такие же как и во всех подобных сервисах. Минимальная цена за 1000 разгаданных капч составляет 0.7 USD. Среднее время разгадывания одной капчи - 8 секунд.
    Пополнить счет в системе можно любым удобным способом от терминала и электронных валют до банковского платежа.

    Эти приемы я буду демонстрировать на подопытной капче. В качестве подопытной я выбрал капчу некоего Rafontes на которую я набрел когда искал материалы для предыдущей статьи .

    Пример сгенерированной капчи:

    Фон мне пришлось использовать другой, так как автор не выложил оригинальный (или я не нашел), но это не повлияет на результат.

    Препроцесс

    В результате этого действия мы получим масимально обрезанный участок монохромного изображения с текстом.

    В первую очередь нам надо отделить фон от текста . Анализируем картинку и код генерации изображения. Налицо первые ошибки:

    • Используется один цвет для всего теста с кодом
    • Цвет для текста генерируется в диапазоне rand(0, 200), 0, rand(0, 200), для R G B соответственно (достаточно выделить цвета только в этом диапазоне)
    • Фон с большим количеством разных цветов (не сможет повлиять на статистику самого часто используемого цвета)

    Теперь на основе этих фактов анализируем цвет каждого пикселя во всем изображении и выделяем самый часто-используемый. Получился 8C0074 (в hex-виде). Задаем от него небольшую погрешность и выделяем этот цвет и немного похожие на него с учетом погрешности. Все выделенные закрашиваем черным, остальные белым. Получается такая картинка:

    Как видите, мы получили текст, практически без искажений. Правда осталась одна линия, но у нас хитрый алгоритм обрезки (о нем ниже), на который эта линия повлиять не сможет.

    Теперь выделяем участок с кодом .
    Так как наш текст это самое темное пятно, то и пытаемся алгоритмически найти это пятно. Сначала определяем границы по горизонтали:

    Теперь определяем границы по вертикали:

    Линия осталась тут потому что то тот участок до сих пор воспринимается функцией как очень темный участок. Но теперь на основе этих границ уточняем их по второму кругу, по горизонтали:

    А почему теперь эта линия убралась спросите вы? Потому что теперь анализировалось меньше «столбцов пикселей» и при анализе алгоритмом выявилось что в данном участке слишком много столбцов с одним черным пикселем, а следовательно это шум. Теперь уточняем границу по вертикали:

    Так как область определения стала меньше то, теперь тот та линия что была шумом стала недостаточно темным пятном и была удаленна совсем. Вот мы и получили участок с текстом. Конечно этот алгоритм иногда не совсем верно выделяет нужную область. Но по моим тестам число НЕверных определений не превышает 5%, чем собственно можно пренебречь.

    Сегментация

    Теперь наша задача разбить полученное изображение на отдельные участки с символами.

    Конечно можно расчитывать, искать границы символов, и тд. Но если опять проанализировать код генерации, то можно найти еще одну ошибку.

    • Отступ между каждым символом всегда равен 15 пикселям

    Конечно иногда из за размера символов они выходять за рамки пятнадцати пикселей, тогда приходится откусывать от соседнего символа еще один-два пикселя. Но это не критично. Вообщем разбиваем картинку:

    Теперь как мы видим вокруг некоторых символов есть пустая область. А нам все таки нужен именно сам символ. Применяем функцию обрезки для каждого символа, и полученные изображения вписываем в прямоугольники размером 17×27:

    Именно такие изображения по отдельности будут подаваться на распознавание.

    Распознавание

    Распознавание мы будет производить БЕЗ всяких новомодных нейронных сетей. Почему? Решающую роль сыграло то что, нет ни одной достойной библиотеки под винду. Пользоваться будем обычным распознаванием по маскам символов.

    Для этого мы, имея доступ к исходным кодам, нагенерируем кучу черно-белых картинок для каждого символа с разными углами поворотов (от двух до четырех градусов), и разными размерами шрифта (от 20pt до 30pt). Каждую полученную картинку, как вы догадались, вписываем в прямоугольник размером 17×27. Каждое полученное изображение называется маской.

    Для каждой буквы я нагенерировал по 10-15 масок. Впринципе этого достаточно, но если увеличить количество масок, то можно увеличить процент распознавания.

    Вообщем все изображения подающиеся на вход, сравниваются с масками, и алгоритм определяет какая маска больше всего соответствует нашему изображению, на основе этого делая вывод о том какой символ написан на картинке.

    Результаты

    Для теста я получил с помощью генерации картинки и ее разбиения на символы 200 зашумленных символов. И програмно запустил тест. И внимание!
    Итог: Удачных: 172 Ошибок: 28 Процент: 86%
    То есть каждый символ на капче будет распознан успешно с вероятностью в 86% !

    Немного математики. Посчитаем процент вероятности успешного распознавания капчи:
    Для 4-символьных капч: 0.86^4=54%
    Для 5-символьных капч: 0.86^5=47%

    В среднем каждая вторая капча будет успешно распознанна.

    Если учесть что на каждую капчу приходится около 1 секунды, а 2 секунды в среднем будет приходится на успешное распознавание. То это очень отличный результат.

    Исходники

    Скрипт сам генерирует, и сам же распознает капчу. Пример работы скрипта на картинке приведенной в качестве примера автором капчи:

    (Картинка кликабельна)