Решение математической капчи в картинке

Регистрация
21.05.2014
Сообщения
157
Реакции
9
Баллы
18
Добрый день!
Такая капча есть
Screenshot_3.png

Подскажите чем её решать? CapMonsterCloud очень часто выдаёт неверный результат.
 
Пробуй решать другими сервисами, где каптчи разгадывают люди
 
Очень медленно получается)
Не заставляйте индусов долго думать, в комментах к каптче укажите что нужно просто повторить, напрмиер в данном случае 45+3 требуется от индуса получить, а далее с помощью JS вычисляете результат. Хотя, тут тоже спорно, надо время чтобы прочесть комментарий и написать больше цифр, т.к. результат обычно короче чем выражение.
 
  • Спасибо
Реакции: Маломальский
Вполне возможно что какой-то другой модуль надо выбирать, так как Cloud выбирает "universal"
 
Вот об этом и речь.
Для математической капчи нужно передавать дополнительный параметр calc=1
MathCaptcha.png
 
  • Спасибо
Реакции: Маломальский
А можно саму каптчу, оригинальную, не скриншот прикрепить?
Хотя бы одну картинку :-)
Чем это сделать?
Я делал подобное путем замены диапазона цветов пикселей, нужного текста на черный.
Затем, все что не черное, заменял на белые пиксели.

Топорно конечно, но это работало :-)
 
Попробуй так обработать картинку перед отправкой и установить параметр "calc=1", если не поможет, тогда прийдется еще закрасить ненужные цвета пикселей в белый.
C#:
Развернуть Свернуть Копировать
var img = new Bitmap(Image.FromFile(@"X:\in.jpg"));

int x1 = 0;
int y1 = 7;

int x2 = 92;
int y2 = 23;

int width = x2 - x1 + 1;
int height = y2 - y1 + 1;

var result = new Bitmap(width, height);

for (int i = x1; i <= x2; i++)
{
    for (int j = y1; j <= y2; j++)
    {
        result.SetPixel(i - x1, j - y1, img.GetPixel(i, j));
        result.Save(String.Format(@"X:\out.jpg", 1));
    }
}

result.Dispose();
 
  • Спасибо
Реакции: VladZen
Попробуй так обработать картинку перед отправкой и установить параметр "calc=1", если не поможет, тогда прийдется еще закрасить ненужные цвета пикселей в белый.
C#:
Развернуть Свернуть Копировать
var img = new Bitmap(Image.FromFile(@"X:\in.jpg"));

int x1 = 0;
int y1 = 7;

int x2 = 92;
int y2 = 23;

int width = x2 - x1 + 1;
int height = y2 - y1 + 1;

var result = new Bitmap(width, height);

for (int i = x1; i <= x2; i++)
{
    for (int j = y1; j <= y2; j++)
    {
        result.SetPixel(i - x1, j - y1, img.GetPixel(i, j));
        result.Save(String.Format(@"X:\out.jpg", 1));
    }
}

result.Dispose();


Попробовал..
Всё равно
Без названия.png

Видимо или я не так что-то делаю или capcloud тут никак
 
Попробуйте несколько капч так обработать и отправить, и не забывайте указывать параметр calc=1
Так а не лучше, распозновать капчу как текст, а ответ решать кубиком?
 
Так а не лучше, распозновать капчу как текст, а ответ решать кубиком?
Как раз проблема в том что текст (цифры) неправильно распознается в ней. Поэтому и результат неправильный.
 
Как вариант: считаете частоту каждого цвета на картинке. Естественно, белый у вас будет самый частый, второй по частоте будет как раз цвет символов (они же все одного цвета). Далее заменяете цвет пикселя на белый если он не равен (лучше брать с каким-нибудь смещением в +-5 значений) цвету символов. У вас должна получится картинка, на которой будет белый фон и на нем цифры. Ну и отправляете ее в CM.
 
Очевидно, что капча не сложная, видимо не так и нужно ее решать ) Было бы желание...
На вскидку там же нет даже искажений и всего 9 вариатов. Поиск по картинке как вариант.
И цифры одного цвета так уже выше заметили.
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)