Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Как сравнить полученное изображение с нужным, и если совпадает, выполнить действие

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

1. Kostick - 30 Января, 2022 - 12:12:46 - перейти к сообщению
Подскажите, как в визуальном редакторе сравнить полученное с помощью findimage изображение с нужным (расположенным по пути "C:\Трофеи.bmp"), и если они совпадают, выполнить определенное действие, например, нажать space?
2. Ilya001 - 30 Января, 2022 - 12:30:28 - перейти к сообщению
findimage сам же всё это делает, зачем еще сравнивать с другим изображением?
3. Kibor - 30 Января, 2022 - 12:33:17 - перейти к сообщению
Сравнивать два изображения..
Надо заточить finddynamic для этого.
Пока встроенной функции нет.
Пишите свой алгоритм или задействуйте какое то API
4. Kostick - 30 Января, 2022 - 12:58:26 - перейти к сообщению
 Ilya001 пишет:
findimage сам же всё это делает, зачем еще сравнивать с другим изображением?

Да, немного не так выразился.
Сначала идет поиск изображения с помощью findimage, и функция его находит. С помощью savescreen я дополнительно сохраняю ту область, в которой было найдено изображение по пути "C:\Трофеи2.bmp", чтобы удостоверится, что оно верное. Но оно может не верным, потому что в findimage забита большая разбежность цветов. Поэтому я хотел сделать дополнительную проверку и сравнить это изображение с сохраненным заранее ("C:\Трофеи.bmp"Подмигивание, и если они совпадают, то только тогда выполнять действие.
Но согласен, проще просто получше настроить разбежность цветов. А то получается масло масленное.
5. Rundown - 31 Января, 2022 - 05:04:21 - перейти к сообщению
Здравствуйте!
Нужен совет, тема похожая. Но тут капча. Ну, сразу к делу.

Алгоритм:
1. Ищем на экране "Continue", кликаем. Появляются картинки. Вверху шаблон, внизу список.
2. Вверху выделяем шаблон, копируем.
3. Снизу ищем по шаблону, кликаем.

Проблема на шаге 3. Немогу подсунуть в findimage координаты по Y, с которых надо начинать искать, что бы неискался шаблон.

Или как лучше поступить? Заранее спасибо...

img (Отобразить)


Code (Отобразить)
6. Zireael - 31 Января, 2022 - 05:44:13 - перейти к сообщению
 Цитата:
Или как лучше поступить?

CODE:
int Image[99][99];
loadimage (#Image[0][0], "D:\Kibor2\Continue.bmp"); // изображение кнопки Continue


int Screen[99][99];
int PosContinueX, PosContinueY;
int PosX, PosY;

int r = 10;
int p = 77;
if(findimage (1, #Image[0][0], -1, #PosContinueX, #PosContinueY, 0, 0, 1920, 1080, r,r,r,r,r,r,p, 1, -1)) // поиск Continue
{
mousemove(PosContinueX, PosContinueY); // тут клик вместо mousemove
pause(500);


mousemove(PosContinueX+20, PosContinueY-55);
pause(500);
mousemove(PosContinueX+35, PosContinueY-40);
pause(500);

screen (#Screen[0][0], PosContinueX+20, PosContinueY-55, PosContinueX+35, PosContinueY-40, -1); // сохранить в памяти изображение шаблона
saveimage(#Screen[0][0], "D:\11111.bmp");

mousemove(PosContinueX - 50, PosContinueY);
pause(500);
mousemove(PosContinueX + 110, PosContinueY + 50);
pause(500);

//поиск шаблона
if(findimage (1, #Screen[0][0], -1, #PosX, #PosY, PosContinueX - 50, PosContinueY, PosContinueX + 110, PosContinueY + 50, r,r,r,r,r,r,p, 1, -1))
{
mousemove(PosContinueX - 50 + PosX, PosContinueY + PosY); // тут клик вместо mousemove
pause(500);
}
else messagebox("Изображение не найдено");
}
else messagebox("Continue не найдено");

Все mousemove можно убрать, они только для наглядности.
Суть скрипта: найти кнопку Continue, относительно неё сохранить в памяти шаблон искомого изображения, найти шаблон на экране относительно кнопки Continue.
7. Kostick - 31 Января, 2022 - 05:44:30 - перейти к сообщению
 Rundown пишет:
Здравствуйте!
Нужен совет, тема похожая. Но тут капча. Ну, сразу к делу.

Алгоритм:
1. Ищем на экране "Continue", кликаем. Появляются картинки. Вверху шаблон, внизу список.
2. Вверху выделяем шаблон, копируем.
3. Снизу ищем по шаблону, кликаем.

Проблема на шаге 3. Немогу подсунуть в findimage координаты по Y, с которых надо начинать искать, что бы неискался шаблон.

Или как лучше поступить? Заранее спасибо...

img (Отобразить)


Code (Отобразить)

Я пользую визуальным редактором, поэтому мне проще предложить, как сделать в нем. В нем у функции findimage есть Массив X и Массив Y, в которых записаны координаты найденного изображения с верхнего левого угла изображения.
[img](для просмотра ссылки Вам необходимо авторизоваться) /img]
Я у себя, если нужно кликнуть где-то относительно найденного изображения, ввожу в блок mouse вот так:
[img](для просмотра ссылки Вам необходимо авторизоваться) /img]
Но может у кого-то есть еще идеи.
8. Ilya001 - 05 Февраля, 2022 - 09:09:31 - перейти к сообщению
 Kostick пишет:
[img](для просмотра ссылки Вам необходимо авторизоваться) /img]

а где тут клик?
9. Kostick - 05 Февраля, 2022 - 13:42:32 - перейти к сообщению
 Ilya001 пишет:
 Kostick пишет:
[img](для просмотра ссылки Вам необходимо авторизоваться) /img]

а где тут клик?

Клик будет на 9 пикселей ниже и правее найденного изображения, если начинать с верхнего левого угла

Powered by ExBB FM 1.0 Final