Essen |
Отправлено: 05 Сентября, 2020 - 23:14:04
|
Прохожий
Покинул форум
Сообщений всего: 21
Дата рег-ции: Сент. 2020
Репутация: 0
|
Казалось бы, довольно примитивная задача, которую теоретически можно было решить одной findimage, если бы не некоторый микроскопический рандом на экране, который глазу даже не заметен.
Речь идёт о подборе 4-х фрагментов отпечатка пальцев (самих отпечатков так -же 4).
Для наглядности ужатый джипег:
Скрытый текст:Для просмотра Вам необходимо авторизоваться и оставить не менее 10 сообщений
Найти искомый фрагмент можно с помощью findimage (с усреднением всех цветов до тех пор, пока не останется 2 цвета для 100% выборки, так как много шума на фоне)
Но для того чтоб можно было активировать выбор, нужно "переместить" пошагово яркие уголки через стрелки клавиатуры на найденный фрагмент.
Сразу искать и сопоставлять фрагмент и уголки нельзя, из за сильной разницы в яркости и вариативности самих изображений уголков и их местоположения в различных 8 ячейках.
Отсюда вопрос,-
1. Можно ли задать переменные координатам фрагментов, затем использовать эти переменные в качестве начальных координат зон поиска уголков по findheapcolor и затем проводить проверку наличия уголков рамки в проверяемой ячейке?
2. Можно ли, в принципе, подводить рамку сразу в направлении найденного нужного фрагмента, а не перебирать все 8 ячеек подряд, так как мышь не участвует, только клавиатура (стрелка вправо позволяет перемещать рамку последовательно по всем ячейкам и так по кругу)
Видео экрана:
Скрытый текст:Для просмотра Вам необходимо авторизоваться и оставить не менее 10 сообщений
ps.
Если кому интересно реализовать решение за, скажем, Скрытый текст:Для просмотра Вам необходимо авторизоваться и оставить не менее 100 сообщений , то напишите лс |
|
|
Essen |
Отправлено: 06 Сентября, 2020 - 11:07:59
|
Прохожий
Покинул форум
Сообщений всего: 21
Дата рег-ции: Сент. 2020
Репутация: 0
|
По вопросу комбинирования получилось так
CODE:m_KIB2: if (findimage_(#Image_0_KIB[0][0], 0, 10, 0, 13, 0, 0, -1, 0, 0, 0, -1, -1, 0, 39, 100, 1, 455, 255, 755, 755, #sum_KIB, #x_KIB, #y_KIB)>0) goto m_KIB3;
else goto m_KIB1;
m_KIB3: if (findheapcolor_(2, 2, 0, 0, 0, 0, 0, 13, 0, 0, -1, 0, 0, 0, -1, -1, 100, 1, 440+x_KIB, 250+y_KIB, 444+x_KIB, 254+y_KIB, 1, 1, #sum_KIB, #x_KIB, #y_KIB, #color_KIB_5[0], #sum_color_KIB_5[0])>0) goto m_KIB2;
Некоторая сложность была в том, что бы убрать разницу в координатах зоны поиска для findheapcolor так как брал за точку отсчёта координаты картинки внутри зоны поиска findimage.
По второму вопросу, как логически перемещать рамку селектора стрелками клавиатуры к искомой ячейке, где найдена картинка, пока не имею никакого понятия.
Брутфорсить каждую ячейку проще по коду, но потеря времени до 50% на таком взломе. |
|
|
Essen |
Отправлено: 07 Сентября, 2020 - 16:52:24
|
Прохожий
Покинул форум
Сообщений всего: 21
Дата рег-ции: Сент. 2020
Репутация: 0
|
По распознаванию отпечатков вопросов уже нет. Всё работает и распознаётся и даже выбирается.
Хотелось без перебора картинок реализовать.
Цитата: Распознали все символы в маленьких окнах.
Тот который подошел - выбрали.
Мышь не работает в этом режиме, только стрелки на клавиатуре, т.е невозможно по координате "тыкнуть", надо подвести рамку пошагово.
PS. readtext это же для распознания текста инструмент??(Отредактировано автором: 07 Сентября, 2020 - 16:57:11) |
|
|
|