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

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

1. rigigejen - 03 Ноября, 2014 - 00:11:32 - перейти к сообщению
CODE:
int Image_0[41][28];

loadimage(#Image_0[0][0],"D:\K\Image_0.bmp");

int q=0,q1=0;//Здесь может быть до q9
int w=0,w1=0;//тоже
int e=1366,e1=1366;//
int r=768,r1=768//


if(findimage(1,#Image_0[0][0],-1,#PosX_0[0],#PosY_0[0],0,0,1366,746,-1)==1)
{
int x,y;
x=PosX_0[0]+imagewidth(#Image_0[0][0])/2;
y=PosY_0[0]+imageheight(#Image_0[0][0])/2;
mouse(LEFT,x,y,);
if(q=0)
{
q=PosX_0[0];
w=PosX_0[0];
e=PosX_0[0]imagewidth(#Image_0[0][0]);
r=PosX_0[0]imageheight(#Image_0[0][0]);
if(q1=0)
{
q1=PosX_0[0];
w1=PosX_0[0];
e1=PosX_0[0]imagewidth(#Image_0[0][0]);
r1=PosX_0[0]imageheight(#Image_0[0][0]);
}
}
}

Суть в чем, у меня есть N-ое количество изображений, которые стабильны в течении игры, но меняются после входа на следующий день. Они основной элемент с которым нужно работать. Используется расширенный findimage, он тратит много времени (до 17 изображений разных) и нужно уложиться в 30 секунд на цикл.
Я подумал, что можно узнать координаты через подобный скрипт и в дальнейшем будет работать это:
CODE:
findimage(1,#Image_0[0][0],-1,#PosX_0[0],#PosY_0[0],q,w,e,r,-1

но не знаю, как сделать универсальный поиск по заданным координатам, то есть после q,w,e,r, заменить на q1,w1,e1,r1 и так дойдя до пика, сброс обратно.
2. Kibor - 03 Ноября, 2014 - 03:08:10 - перейти к сообщению
масивы.. масивы..

CODE:
int Image[17][50][50];

for (int n=0; n<17; n++)loadimage(#Image[n][0][0],"D:\K\Image_"+format(n)+".bmp");
int x,y;

int PosX,PosY;
int image_scr[1366][746];

screen (#image_scr[0][0], 0, 0, 1366,746 , -1);
for (n=0; n<17; n++)
{
if(findimage(1,#Image[n][0][0],-1,#PosX,#PosY,0,0,1366,746,#image_scr[0][0])==1)
{
x=PosX+imagewidth(#Image[n][0][0])/2;
y=PosY+imageheight(#Image[n][0][0])/2;
mouse(LEFT,x,y,);
}
}


 rigigejen пишет:
он тратит много времени (до 17 изображений разных) и нужно уложиться в 30 секунд на цикл

за 30 сек можно найти не только 17... уменьшите размер искомых изображений. не думаю что надо 41-28...
используйте поиск по указателю на окно а не -1. это быстрее.
используйте поиск по заранее сделанному скриншоту как я дал. это ускорит.

читайте тут Реализация массивов изображений в функциях loadimage, findimage, saveimage
читайте тут Поиск в заранее загруженном изображение или сделанном скрине экрана.

Powered by ExBB FM 1.0 Final