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
Надо заточить 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, с которых надо начинать искать, что бы неискался шаблон.
Или как лучше поступить? Заранее спасибо...
Нужен совет, тема похожая. Но тут капча. Ну, сразу к делу.
Алгоритм:
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 не найдено");
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, с которых надо начинать искать, что бы неискался шаблон.
Или как лучше поступить? Заранее спасибо...
Нужен совет, тема похожая. Но тут капча. Ну, сразу к делу.
Алгоритм:
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 пикселей ниже и правее найденного изображения, если начинать с верхнего левого угла