Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Комбинация разных функций поиска

Страниц (2): [1] 2 »
 

1. Essen - 05 Сентября, 2020 - 15:14:04 - перейти к сообщению
Казалось бы, довольно примитивная задача, которую теоретически можно было решить одной findimage, если бы не некоторый микроскопический рандом на экране, который глазу даже не заметен.
Речь идёт о подборе 4-х фрагментов отпечатка пальцев (самих отпечатков так -же 4).

Для наглядности ужатый джипег:
Скрытый текст:
Для просмотра Вам необходимо авторизоваться и оставить не менее 10 сообщений

Найти искомый фрагмент можно с помощью findimage (с усреднением всех цветов до тех пор, пока не останется 2 цвета для 100% выборки, так как много шума на фоне)
Но для того чтоб можно было активировать выбор, нужно "переместить" пошагово яркие уголки через стрелки клавиатуры на найденный фрагмент.
Сразу искать и сопоставлять фрагмент и уголки нельзя, из за сильной разницы в яркости и вариативности самих изображений уголков и их местоположения в различных 8 ячейках.

Отсюда вопрос,-
1. Можно ли задать переменные координатам фрагментов, затем использовать эти переменные в качестве начальных координат зон поиска уголков по findheapcolor и затем проводить проверку наличия уголков рамки в проверяемой ячейке?
2. Можно ли, в принципе, подводить рамку сразу в направлении найденного нужного фрагмента, а не перебирать все 8 ячеек подряд, так как мышь не участвует, только клавиатура (стрелка вправо позволяет перемещать рамку последовательно по всем ячейкам и так по кругу)
Видео экрана:
Скрытый текст:
Для просмотра Вам необходимо авторизоваться и оставить не менее 10 сообщений

ps.
Если кому интересно реализовать решение за, скажем,
Скрытый текст:
Для просмотра Вам необходимо авторизоваться и оставить не менее 100 сообщений
, то напишите лс Закатив глазки
2. Essen - 05 Сентября, 2020 - 17:35:33 - перейти к сообщению
На первый вопрос вроде есть положительный ответ ((для просмотра ссылки Вам необходимо авторизоваться) ), по второму всё еще не понятно как.
3. Essen - 06 Сентября, 2020 - 03:07:59 - перейти к сообщению
По вопросу комбинирования получилось так

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% на таком взломе. Хм
4. Essen - 06 Сентября, 2020 - 09:49:11 - перейти к сообщению
Ну вот и всё. Скорость выполнения даже частичным перебором запредельная.
(для просмотра ссылки Вам необходимо авторизоваться)
Всем спасибо за помощь Радость

Схема логики

Нажмите для увеличения
5. Essen - 07 Сентября, 2020 - 06:45:51 - перейти к сообщению
И всё таки...
Если есть у кого идеи, какими функциями составить алгоритм перемещения рамки поочерёдно к каждой найденной картинке, подскажите пожалуйста.
Лично я остановился на том, что можно записать все координаты найденных картинок, затем рассортировать их по расстоянию от точки (функция SORT), и так как есть всего 8 возможных координат/позиций, привести их к такому выражению:
00101011
где
0 - пустой шаг,
1 - действие

Есть ли способ это реализовать?
6. Kibor - 07 Сентября, 2020 - 07:16:05 - перейти к сообщению
Кого найти. На чем найти. Где найти.
Это вы играете в эту игру.
Я лично не знаю в чем там микроскопический рандом и чем он мешает.

Какая стоит задача, если ее описать через ТЗ?
7. Essen - 07 Сентября, 2020 - 07:47:40 - перейти к сообщению
 Kibor пишет:
Кого найти. На чем найти. Где найти.
Это вы играете в эту игру.
Я лично не знаю в чем там микроскопический рандом и чем он мешает.

Какая стоит задача, если ее описать через ТЗ?

Хм, такой подробной темы с описанием задачи и несколькими видео я ещё не встречал.
Извините, если помешал.
8. Kibor - 07 Сентября, 2020 - 08:37:55 - перейти к сообщению
Если у вас есть Все отпечатки, то можно по ним обучить базу распознавания текста
Но для нее требуется четкая зона.
Как у вас зона прыгает рандомно, это не известно. Привяжите к чему то.
И распознавайте через readtext.
При чем тут "Сразу искать и сопоставлять фрагмент и уголки нельзя, из за сильной разницы в яркости и вариативности самих изображений уголков и их местоположения в различных 8 ячейках." не ясно. Не видно на видео.

Нашли все зоны для распознавания.
Распознали символ в большом окне.
Запомнили его.
Распознали все символы в маленьких окнах.
Тот который подошел - выбрали.
Размер символа не имеет значения.
Имеет значение зона распознавания.

Настроить фильтр надо так, что бы весь отпечаток был за один только символ.
9. Essen - 07 Сентября, 2020 - 08:52:24 - перейти к сообщению
По распознаванию отпечатков вопросов уже нет. Всё работает и распознаётся и даже выбирается.
Хотелось без перебора картинок реализовать.

 Цитата:
Распознали все символы в маленьких окнах.
Тот который подошел - выбрали.

Мышь не работает в этом режиме, только стрелки на клавиатуре, т.е невозможно по координате "тыкнуть", надо подвести рамку пошагово.

PS. readtext это же для распознания текста инструмент??
10. Kibor - 07 Сентября, 2020 - 09:04:22 - перейти к сообщению
Вы зону распознанной картинки знаете?
Присвойте каждой зоне определенное количество нажатий клавиатуры.
А лучше нажимайте клавиатуру и пробуйте распознавать рамку вокруг распознанного отпечатка.

Powered by ExBB FM 1.0 Final