Автоматизация и боты

 Помощь      Поиск      Пользователи
Сайт Кибор     Программируемый кликер Кибор     Видео обучение     Заказать бот

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

> Описание: Добавлен инструмент подбора оптимальных цветов для поиска
Kibor
Отправлено: 28 Марта, 2016 - 20:50:39
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8095
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




Добавлен инструмент для подсчета и определения оптимальных цветов пикселей для поиска в функции findheapcolor scanpixel

Находится в вкладке Графика Кибор, в меню правой кнопки мыши.
Использовать так:
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 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


===========================

Этот скрипт пометит надписью Лицо все лица при воспроизведение этого фильма. Ссылка на фильм Контакт
Довольно точно, хотя есть не распознанные и ошибки. В играх обычно объекты четче выделены по цветам чем в фильмах и у них часто присутствуют уникальные цвета.
Не разворачивать во весь экран. Запустить как есть в оконном и указать координаты видео как сказано выше.
Скрипт
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);
}
 
 Top
Adomb
Отправлено: 29 Марта, 2016 - 00:34:22
Post Id



Пользователь
Мастер


Покинул форум
Сообщений всего: 185
Дата рег-ции: Июль 2015  
Репутация: 1




Спасибо. Главное - только понадобилось - и на тебе. Улыбка
 
 Top
Kibor
Отправлено: 29 Марта, 2016 - 00:45:01
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8095
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




 Adomb пишет:
Спасибо. Главное - только понадобилось - и на тебе.

изучаю телепатию)
 
 Top
Skycrew
Отправлено: 29 Марта, 2016 - 01:49:57
Post Id



Пользователь
Мастер


Покинул форум
Сообщений всего: 123
Дата рег-ции: Июль 2014  
Репутация: 0




Годная вещь. Спасибо!
 
 Top
Dantes3000
Отправлено: 09 Февраля, 2018 - 14:58:47
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1464
Дата рег-ции: Июнь 2016  
Репутация: 58




Спустя 5 минут работы в Графике. И вылетает...

(Добавление)
 
 Top
Kibor
Отправлено: 09 Февраля, 2018 - 15:34:14
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8095
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




 Dantes3000 пишет:
Спустя 5 минут работы в Графике. И вылетает...

И? Что из этого я должен понять?
Я вижу 1200 мб памяти. И что? Информация откуда эта память взялась отсутствует. Может она выделена Кибором в настройках трансляции. Или ее выделил запускаемый скрипт?

Что значит 5 минут работы?
Вопрос не имеет решения.
 
 Top
Dantes3000
Отправлено: 09 Февраля, 2018 - 15:39:43
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1464
Дата рег-ции: Июнь 2016  
Репутация: 58




Ну я ж сказал...5 минут работы в Графике. Выделял картинки и сохранял их. Интересует почему так много. Таким образом и 16 гиг может забить
 
 Top
Kibor
Отправлено: 09 Февраля, 2018 - 15:59:53
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8095
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




 Dantes3000 пишет:
Ну я ж сказал...5 минут работы в Графике. Выделял картинки и сохранял их. Интересует почему так много. Таким образом и 16 гиг может забить

Память как выделяется, так и освобождается.
Описанный режим работы не приводит к такому эффекту.
Видео тестирования. https://radikal.ru/video/OyFrxqP40fk
 
 Top
Dantes3000
Отправлено: 09 Февраля, 2018 - 16:31:12
Post Id



Пользователь
Эксперт


Покинул форум
Сообщений всего: 1464
Дата рег-ции: Июнь 2016  
Репутация: 58




(для просмотра ссылки Вам необходимо авторизоваться)
В этот раз не получилось полностью воссоздать проблему.
Сначала было 400 мб выделено, я на видео не успел снять, поднялось до 560. Характерно, что это происходит после небольшого пролагивания программы. Потом где-то на 1:45 опять лагнуло и выделилось 800 мегабайт. Дальше можно не смотреть, до 720 опустилось и больше не смог вызвать эту ошибку. Когда еще раз появится - сниму, покажу.
(Добавление)
Там как раз видно было - я пытался выделить участок, но программа не отвечала и в это время как раз скакнуло на +450 мегабайт
 
 Top
Kibor
Отправлено: 09 Февраля, 2018 - 18:59:27
Post Id



Администратор
Эксперт


Покинул форум
Сообщений всего: 8095
Дата рег-ции: Март 2013  
Откуда: Одесса
Репутация: 355




Вы так работаете в вкладе графика? Для чего могут понадобиться такие попиксельные массовые действия?
Память съедается на создание отката (отмены) при попиксельном выделение.
Багов в этом нет. Для работы с редактором для создания скриншотов, обычно применяется рамочное выделение с отменой не нужной области. или наоборот. Но не так, как показано на видео. Покажите реальный рабочей ситуации пример.
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« О программе Кибор »


Все гости форума могут просматривать этот раздел.
Только администраторы и модераторы могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




Powered by