Доработка findimage.
Появилась возможность искать изображения в заранее сделанном скрине экрана с помощью screen или загруженном с файла изображение.
Применять там где надо одновременно искать множество разных изображений.
Отличие от поиска непосредственно на экране в том, что если ищется по указателю на окно или -1 (по всему экрану) , то при каждом вызове findimage делается скрин области в которой надо произвести поис к, а если в виде последнего параметра указывается указатель на двухмерный массив int в котором уже есть картинка области поиска которую мы можем загрузить в массив с помощью screen, скрин экрана не делается. Скорость поиска при этом увеличивается в 2 - 3 раза.
К примеру мы хотим написать скрипт распознавание текста. Для этого имеем изображения всех букв в разных файлах. Если мы будем искать их при последнем параметре указателе на окно, то скрин экрана будет делаться на каждую букву.
Пример:
Цитата:
int тут_ищем[2000][2000];
int c, xe, ye;
int x[1000], y[1000];
int xr, yr;
getdisplay(c, xe, ye);
int буквы[26][20][20];
loadimage (#буквы[0][0][0], "C:\a.bmp");
loadimage (#буквы[1][0][0], "C:\b.bmp");
//...............
screen (#тут_ищем[0][0], 0, 0, xe, ye, -1);
xr= imagewidth(#тут_ищем[0][0]);
yr=imageheight(#тут_ищем[0][0]);
for (int n=0; n<26; n++)
{
findimage(-1, #буквы[n][0][0], 16777215, #x[0], #y[0], 0, 0,xr, yr, #тут_ищем[0][0]);//Ищем разные рисунки в сделанном ранее скрине экрана
}
|