Находится в вкладке Графика Кибор, в меню правой кнопки мыши.
Использовать так:
1) Делаем снимок с помощью Графики Кибор нужной сцены в игре где есть нужный объект. Надо что бы объект был размера примерно такого какой будет при работе бота.
2) Выделяем не захватывая фон основные части искомого объекта.
3) Нажимаем правую кнопку и выбираем в меню Подбор Цвета
3) Указываем нужные параметры которые будем использовать для разбежности оттенков цветов.
4) Нажимаем Посчитать.
5) Появляются основные цвета которые можно использовать в поиске и их количество. В виде параметров указывать примерно в 20-200 раз меньше количество.
6) Используем их в функциях findheapcolor scanpixel основные цвета.
Пример подготовки поиска изображения Лосяша с мультфильма Смешарики. После подготовки цветов и использования их в функции findheapcolor скрипт будет выводить слово Лосяш на этом персонаже при воспроизведение этого мультфильма на компьютере.
Скрины работы с инструментом:
Нажмите для увеличения
Нажмите для увеличения
Скрипт поиска Лосяша на видео и вывода слова Лосяш на этом персонаже в реальном времени воспроизведения видео. В браузере Мозила.
Указать свои координаты левого верхнего и правого нижнего угла с помощью Шпиона Кибор (Мышь в клиентской части окна).
CODE:
int r=15;//Допускаемое отклонение цвета пикселя
int левый_угол_верх_X=212;
int левый_угол_верх_Y=178;
int правый_угол_низ_X=756;
int правый_угол_низ_Y=469;
int color[5], kol[5];//Массивы для трех цветов
color[0]=567530;
color[1]=1977488;
color[2]=234711;
color[3]=1005733;
color[4]=689610;
kol[0]=50;
kol[1]=20;
kol[2]=10;
kol[3]=10;
kol[4]=5;
int x, y;//Тут координаты найденные
int Xx=0, Yy=0;//Вспомогательные
textbkcolor (8454143,255);//Установка цвета текста
win w=window (-1, "MozillaWindowClass", -1);//Указательна окно с игрой
if (w==0)messagebox ("Неверный указатель. Запустите в мозиле или дайте свой указатель window");
loop()
{
if (findheapcolor(1, #color[0], #kol[0], 5, 5, #x, #y, 20, 20, 0, 0, левый_угол_верх_X, левый_угол_верх_Y, правый_угол_низ_X, правый_угол_низ_Y, r, r, r, r, r, r, w)==1)
{
Xx=x+w.leftclient+левый_угол_верх_X+10;
Yy=y+w.topclient+левый_угол_верх_Y+50;
textout(0, Xx, Yy, "лосяш", 0);
sleep(2);
}
else textout(0, Xx, Yy, "", 0);
sleep(2);
}
int левый_угол_верх_X=212;
int левый_угол_верх_Y=178;
int правый_угол_низ_X=756;
int правый_угол_низ_Y=469;
int color[5], kol[5];//Массивы для трех цветов
color[0]=567530;
color[1]=1977488;
color[2]=234711;
color[3]=1005733;
color[4]=689610;
kol[0]=50;
kol[1]=20;
kol[2]=10;
kol[3]=10;
kol[4]=5;
int x, y;//Тут координаты найденные
int Xx=0, Yy=0;//Вспомогательные
textbkcolor (8454143,255);//Установка цвета текста
win w=window (-1, "MozillaWindowClass", -1);//Указательна окно с игрой
if (w==0)messagebox ("Неверный указатель. Запустите в мозиле или дайте свой указатель window");
loop()
{
if (findheapcolor(1, #color[0], #kol[0], 5, 5, #x, #y, 20, 20, 0, 0, левый_угол_верх_X, левый_угол_верх_Y, правый_угол_низ_X, правый_угол_низ_Y, r, r, r, r, r, r, w)==1)
{
Xx=x+w.leftclient+левый_угол_верх_X+10;
Yy=y+w.topclient+левый_угол_верх_Y+50;
textout(0, Xx, Yy, "лосяш", 0);
sleep(2);
}
else textout(0, Xx, Yy, "", 0);
sleep(2);
}
Видео Смешарики для теста. Не раскрывайте во весь экран. Просто запустить и указать координаты углов.
Если в скрипте сделать эти изменения будет искать Карыча
Цитата:
int color[2], kol[2];//Массивы для трех цветов
color[0]=11759677;
color[1]=5774374;
kol[0]=50;
kol[1]=20;
int x, y;//Тут координаты найденные
int Xx=0, Yy=0;//Вспомогательные
textbkcolor (8454143,255);//Установка цвета текста
win w=window (-1, "MozillaWindowClass", -1);//Указательна окно с игрой
if (w==0)messagebox ("Неверный указатель. Запустите в мозиле или дайте свой указатель window");
loop()
{
if (findheapcolor(1, #color[0], #kol[0], 2, 2
color[0]=11759677;
color[1]=5774374;
kol[0]=50;
kol[1]=20;
int x, y;//Тут координаты найденные
int Xx=0, Yy=0;//Вспомогательные
textbkcolor (8454143,255);//Установка цвета текста
win w=window (-1, "MozillaWindowClass", -1);//Указательна окно с игрой
if (w==0)messagebox ("Неверный указатель. Запустите в мозиле или дайте свой указатель window");
loop()
{
if (findheapcolor(1, #color[0], #kol[0], 2, 2
===========================
Этот скрипт пометит надписью Лицо все лица при воспроизведение этого фильма. Ссылка на фильм Контакт
Довольно точно, хотя есть не распознанные и ошибки. В играх обычно объекты четче выделены по цветам чем в фильмах и у них часто присутствуют уникальные цвета.
Не разворачивать во весь экран. Запустить как есть в оконном и указать координаты видео как сказано выше.
Скрипт
CODE:
int r=7;//Допускаемое отклонение цвета пикселя
int левый_угол_верх_X=219;
int левый_угол_верх_Y=133;
int правый_угол_низ_X=825;
int правый_угол_низ_Y=432;
int color[5], kol[5];//Массивы для трех цветов
color[0]=1515306;
color[1]=5332868;
color[2]=4609404;
color[3]=6055818;
color[4]=397338;
kol[0]=5;
kol[1]=3;
kol[2]=2;
kol[3]=1;
kol[4]=1;
int x[10], y[10], k, n;
win w=window (-1, "MozillaWindowClass", -1);
if (w==0)messagebox ("Неверный указатель. Запустите в мозиле или дайте свой указатель window");
loop()
{
k=findheapcolor(10, #color[0], #kol[0], 5, 5, #x[0], #y[0], 15, 30, 200, 350, левый_угол_верх_X, левый_угол_верх_Y, правый_угол_низ_X, правый_угол_низ_Y, r, r, r, r, r, r, w);
resettextout(0);
textbkcolor (8454143,255);//Установка цвета текста
for (n=0; n<k; n++)textout(n, x[n]+w.leftclient+левый_угол_верх_X, y[n]+w.topclient+левый_угол_верх_Y+10, "Лицо", 0);
sleep(2);
}
int левый_угол_верх_X=219;
int левый_угол_верх_Y=133;
int правый_угол_низ_X=825;
int правый_угол_низ_Y=432;
int color[5], kol[5];//Массивы для трех цветов
color[0]=1515306;
color[1]=5332868;
color[2]=4609404;
color[3]=6055818;
color[4]=397338;
kol[0]=5;
kol[1]=3;
kol[2]=2;
kol[3]=1;
kol[4]=1;
int x[10], y[10], k, n;
win w=window (-1, "MozillaWindowClass", -1);
if (w==0)messagebox ("Неверный указатель. Запустите в мозиле или дайте свой указатель window");
loop()
{
k=findheapcolor(10, #color[0], #kol[0], 5, 5, #x[0], #y[0], 15, 30, 200, 350, левый_угол_верх_X, левый_угол_верх_Y, правый_угол_низ_X, правый_угол_низ_Y, r, r, r, r, r, r, w);
resettextout(0);
textbkcolor (8454143,255);//Установка цвета текста
for (n=0; n<k; n++)textout(n, x[n]+w.leftclient+левый_угол_верх_X, y[n]+w.topclient+левый_угол_верх_Y+10, "Лицо", 0);
sleep(2);
}