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

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

 Страниц (5): « 1 2 [3] 4 5 »   

> Описание: Сранение цвета пикселя по приблизительному цвету. Поиск пикселей определенного цвета.
Dantes3000
Отправлено: 27 Сентября, 2018 - 10:34:26
Post Id



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


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




Kibor , хорошо, а если мне надо полоску в 1 пиксель проверять?
 
 Top
Kibor
Отправлено: 27 Сентября, 2018 - 10:52:35
Post Id



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


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




Надо сделать зону в 1 пиксель, а не линию в 0
 
 Top
Kibor
Отправлено: 24 Апреля, 2019 - 12:51:52
Post Id



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


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




Добавил возможность указать разбежность цвета в findcolor

Синтаксис:
findcolor(-1, #x[0],#y[0], стартx, стартy, финишx, финишy, color, Красный_меньше_на, Красный_больше_на, Зеленый_меньше_на, Зеленый_больше_на, Синий_меньше_на, Синий_больше_на, -1);
 
 Top
Overdose5530
Отправлено: 14 Октября, 2020 - 21:43:13
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 47
Дата рег-ции: Авг. 2017  
Репутация: 0




здравствуйте .. на древнем ноуте виндовс 7 не работает findcolor .. код писал на другом ноуте .. кароче на любом другом ноуте с вин 10 все ок на этом древнем орехе 0.. хз что там в настройках винды поправить .. Качество цветопередачи пишет 32 бит ..
(Добавление)
все .. по моему это был сдвиг не смотря на то что я использую moveclient
 
 Top
lavpochta
Отправлено: 17 Февраля, 2021 - 23:13:09
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 27
Дата рег-ции: Нояб. 2019  
Репутация: 0




[quote=Kibor]Функция scanpixel сравнивает введенный цвет с цветом пикселя в веденных координатах ориентируясь на разбежности в цветах RGB.

Синтаксис:
scanpixel(КоординатаX, КоординатаY, цвет_в_int, Красный_меньше_на, Красный_больше_на, Зеленый_меньше_на, Зеленый_больше_на, Синий_меньше_на, Синий_больше_на, указатель_на _окно)

Так же возможно сравнивать цвет пикселя загруженного ранее изображения или полученного скриншота в двухмерный массив int
CODE:
int SCREEN[500][700];
//...............
int k=scanpixel(200, 125, 35436455, 15, 15, 15, 15, 15, 15, #SCREEN[0][0]);
messagebox (k);


А в findcolor может вместо указателя на окно принимать двухмерный массив?
 
 Top
Zireael
Отправлено: 18 Февраля, 2021 - 00:57:59
Post Id



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


Покинул форум
Сообщений всего: 4462
Дата рег-ции: Нояб. 2017  
Репутация: 585




 Цитата:
А в findcolor может вместо указателя на окно принимать двухмерный массив?

Нет. Хотя такую возможность добавить недолго.
 
 Top
lavpochta
Отправлено: 18 Февраля, 2021 - 07:44:32
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 27
Дата рег-ции: Нояб. 2019  
Репутация: 0




 Zireael пишет:
 Цитата:
А в findcolor может вместо указателя на окно принимать двухмерный массив?

Нет. Хотя такую возможность добавить недолго.


Решаю задачу по распознаванию определённого цвета и его местоположения в изображении в виде полоски полученной функцией screen. Цвет перемещается внутри этой полоски скачками, поэтому хотел сделать снимок полоски в память и отладится в статистике, но по ходу выполнения программы. Затем хотел распознать местоположение другого цвета в тот же момент времени. Без возможности сканировать цвет в изображении в памяти это невозможно.

Можно реализовать принятие массива в findcolor? Пожалуйста...
 
 Top
Zireael
Отправлено: 18 Февраля, 2021 - 10:20:36
Post Id



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


Покинул форум
Сообщений всего: 4462
Дата рег-ции: Нояб. 2017  
Репутация: 585




Используйте findimage, можно искать картинку в 1 пиксель нужного цвета.
CODE:
int my_image[1][1];
my_image[0][0] = 5187586; // цвет пикселя, который нужно найти

int x, y; // переменные для findimage
int image[1920][1080]; // массив для скрина


screen (#image[0][0], 0, 0, 1920, 1080, -1);

// поиск пикселя на скрине
if(findimage(1, #my_image[0][0], -1, #x, #y, 0, 0, 1920, 1080, #image[0][0]))
{
messagebox(format(x)+" "+format(y)); // координаты пикселя
}
else messagebox("Не найдено");
 
 Top
lavpochta
Отправлено: 18 Февраля, 2021 - 10:34:12
Post Id



Пользователь
Наблюдатель


Покинул форум
Сообщений всего: 27
Дата рег-ции: Нояб. 2019  
Репутация: 0




Ага, спасибо!
 
 Top
Kibor
Отправлено: 19 Марта, 2021 - 13:26:27
Post Id



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


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




Доработал findcolor
Появилась возможность искать цвет пикселя на загруженном ранее изображение или полученном скриншоте в двухмерный массив int

CODE:
int SCREEN[500][700];
//...............
int k=findcolor(-1, #x[0],#y[0], стартx, стартy, финишx, финишy, color, #SCREEN[0][0]);
messagebox (k);


CODE:
int SCREEN[500][700];
//...............
int k=findcolor(-1, #x[0],#y[0], стартx, стартy, финишx, финишy, color, Красный_меньше_на, Красный_больше_на, Зеленый_меньше_на, Зеленый_больше_на, Синий_меньше_на, Синий_больше_на, #SCREEN[0][0]);
messagebox (k);
 
 Top
Страниц (5): « 1 2 [3] 4 5 »
Сейчас эту тему просматривают: 12 (гостей: 12, зарегистрированных: 0)
« О программе Кибор »


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




Powered by