Как решить капчу с цветами?

Gunjubasik

Client
Регистрация
30.05.2019
Сообщения
3 521
Благодарностей
1 318
Баллы
113
Доброго времени. Подскажите, пожалуйста, как бы вы решили данную капчу с цветами? Нужно выбрать похожий цвет из списка. Сам сайт . Нужно перейти в регистрацию.
118028


118030
 

Alex733

Client
Регистрация
27.11.2017
Сообщения
330
Благодарностей
243
Баллы
43
Расстояние между цветами мерять. sqrt(|R1^2+G1^2+B1^2 - R2^2+G2^2+B2^2|)
Наименьший будет искомый.
 
  • Спасибо
Реакции: BAZAg и Gunjubasik

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 787
Благодарностей
2 453
Баллы
113
Доброго времени. Подскажите, пожалуйста, как бы вы решили данную капчу с цветами? Нужно выбрать похожий цвет из списка. Сам сайт . Нужно перейти в регистрацию.
Посмотреть вложение 118028


C#:
Func<Color[],Color,int> GetMin = (Color[] items_colors, Color input_color)=>{
    int min = int.MaxValue;
    int j = -1;
    for(int i =0; i<items_colors.Length; i++) {   
        var item_color = items_colors[i];
        int R = Math.Abs(item_color.R - input_color.R);
        int G = Math.Abs(item_color.G - input_color.G);
        int B = Math.Abs(item_color.B - input_color.B);
        int sum = R + G + B;

        if (sum < min) {
            min = sum;
            j = i;
        }
    }
    return j;
};

// Список цветов
var colors = new[]{
    Color.FromArgb(253, 0, 0),        // 0
    Color.FromArgb(127, 127, 127),    // 1
    Color.FromArgb(0, 0, 0),        // 2
    Color.FromArgb(0, 0, 253),        // 3
    Color.FromArgb(254, 254, 0),    // 4
    Color.FromArgb(0, 127, 1)        // 5
};

// Искомый цвет
var color = Color.FromArgb(23, 4, 157);

// Номер цвета
return GetMin(colors, color);
 

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