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

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

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

> Без описания
Nightshade2
Отправлено: 25 Ноября, 2016 - 07:47:33
Post Id



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


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




Здравствуйте. В Кликермане есть очень удобная функция colormode. C ее помощью можно снижать битность цвета картинки. Это очень удобно на полупрозрачных картинках.
Например в игре есть полупрозрачная панель, под нее может попасть что угодно. Это создает "шум" при поиске нужного изображения. Но если цветность делать 16 или 2 цвета, этот шум исчезает. Намного проще и быстрее и искать по черно-белой картинке нужный текст какой-нибудь кнопки. В результате имеем хорошую скорость и точность. В вашей программе аналогов не нашел. Можно конечно играть с яркостью цвета, но это не то, что нужно.
 
 Top
Nightshade2
Отправлено: 30 Ноября, 2016 - 13:52:41
Post Id



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


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




Сейчас написал такой код
CODE:

int analiz[300][350];
screen (#analiz[0][0], PosX_st[0], PosY_st[0], PosX_kn[0]+70, PosY_kn[0], w);
saveimage(#analiz[0][0], "c:\screen\1.bmp");
int aX,aY,pxl,pxlR,pxlG,pxlB;
for (aX=0;aX<300;aX++)
{
for (aY=0;aY<300;aY++)
{
pxl=analiz[aX][aY];
pxlR=rvalue(pxl);
pxlG=gvalue(pxl);
pxlB=bvalue(pxl);
pxlR=(pxlR/64)*64;
pxlG=(pxlG/64)*64;
pxlB=(pxlB/64)*64;
pxl=rgb(pxlR, pxlG, pxlB);
analiz[aX][aY]=pxl;
}
}
saveimage(#analiz[0][0], "c:\screen\1_obrab.bmp");


Код работает безумно долго. Около 30 сек. Приемлимо было бы меньше 500 мс.
Результат обработки (Отобразить)
 
 Top
Kibor
Отправлено: 30 Ноября, 2016 - 14:12:20
Post Id



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


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




В Киборе другие направления поиска, которые более эффективны.
см эту тему http://kibor-bot.com/stat/graphicskibor.php
надо научиться пользоваться этими функциями и найти можно все.
 
 Top
Nightshade2
Отправлено: 01 Декабря, 2016 - 07:10:46
Post Id



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


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




Это было бы неплохо. Только вот, после убирания динамики, на картинке остаются по 2-3 пиксела. Распознавать по ним картинку тяжело.
 
 Top
Dreika
Отправлено: 18 Февраля, 2025 - 23:52:55
Post Id



Пользователь
Прохожий


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




<img src="https://ru.paste.pics/SU77O"></img>
Без COLORMODE в кибере нет возможности поиска динамично перекрывающихся линиями объектов.
PHP:

/// Рабочее нахождение перечеркнутого линиями объекта через Clicerman

SUB(sk, $var)
FOR($a=0,$a<18)
arrpop($var)
$a=$a+1
END_CYC
END_SUB

GETSCREEN // снимок экрана в буфер для анализа
COLORMODE(7)
SCANPXL($ARR_SCAN, 0,0, $_xmax,$_ymax, 8339327)
sk($ARR_SCAN)
while (ARRSIZE($ARR_SCAN)>0)
$y=arrpop($ARR_SCAN)
$x=arrpop($ARR_SCAN)
$p=PXLCOUNT($x-18,$y-18, $x+18,$y+18, 8339327)
IF($p>108)//108
//LOGWRITE("Проверка пикселей $p>165 в $p=", $p)
IF($p<198)//180
$p2=PXLCOUNT($x-18,$y-18, $x+18,$y+18, 12550079)
//LOGWRITE("Проверка пикселей $p<198 в $p=",$p," $p2=",$p2)
IF($p2>68)//68
//LOGWRITE("Проверка пикселей $p2>99 в $p=",$p," $p2=",$p2)
IF($p2<95)//95
$p3=PXLCOUNT($x-18,$y-18, $x+18,$y+18, 4145151)
//LOGWRITE("Проверка пикселей $p2>99 в $p=",$p," $p2=",$p2," $p3=",$p3)
IF($p3>1)//1
LOGWRITE("Проверка пикселей $p3>99 в $p=",$p," $p2=",$p2," $p3=",$p3)
IF($p3<11)//11
LOGWRITE("Биржа найдена в x=",$x," y=",$y," $p=",$p," $p2=",$p2," $p3=",$p3)
END_IF
END_IF
END_IF


[img](для просмотра ссылки Вам необходимо авторизоваться) /img]
(Добавление)
[img](для просмотра ссылки Вам необходимо авторизоваться) /img]

(Отредактировано автором: 19 Февраля, 2025 - 00:10:28)

 
 Top
Kibor
Отправлено: 19 Февраля, 2025 - 21:05:28
Post Id



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


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




 Dreika пишет:
Без COLORMODE в кибере нет возможности поиска динамично перекрывающихся линиями объектов.

я думаю в кибор найдется достаточно механизмов что бы решить такую яркую задачу
 
 Top
Dreika
Отправлено: 23 Февраля, 2025 - 06:34:47
Post Id



Пользователь
Прохожий


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




Имеете ввиду фильтр вертикальных и горизонтальных линий на получение границ обьёктов?
Увы объект анимирован и у него нет стоящих на месте пикселей.
Я видимо слишком тупая чтобы увидеть множества решений, кроме фильтрации по преобладающим цветам на объекте. Работает у меня код быстро, но язык програмирования у clikerman не позволяет прописать сложный код так как он ломается в циклах. Обычно я ошибки нахожу в коде, но при коде без кавычек проверять долго (if(true){}else{})
 
 Top
Kibor
Отправлено: 23 Февраля, 2025 - 15:22:52
Post Id



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


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




Я имею ввиду поиск красных пикселей и использование findheapcolor (для просмотра ссылки Вам необходимо авторизоваться)
попробуйте этот метод.
 
 Top
Dreika
Отправлено: 25 Февраля, 2025 - 07:04:16
Post Id



Пользователь
Прохожий


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




Попробовала. Пока находит кучу лишнего. как искать диапазоном минимум - максимум(0 не ограничено) пикселя данного усреднённого цвета? Перегруженные функции судя по параметрам одной и той же функции же поддерживаются? Много похожих объектов отфильтровать. В "подборе цвета" цвета не отображает, приходиться копировать и смотреть что за цвета. Ну и весь список найденных желательно (указывать сколько цветов выводить, чтоб выбрать самые редкие). Искать по выбранному пипеткой цвету количество усреднённых пикселей по выделению возможно?
CODE:
int r=61;//Допускаемое отклонение цвета пикселя
int color[6], kol[6];//Массивы для цветов

//color[0]=8339327;
//color[1]=12550079;
//color[2]=4145151;


//kol[0]=109;
//kol[1]=69;
//kol[2]=2;


color[0]=6365519;
color[1]=10448806;
color[2]=2757266;
color[3]=1246179;
color[4]=2981588;
color[5]=7253472;

kol[0]=195;
kol[1]=66;
kol[2]=15;
kol[3]=6;
kol[4]=4;
kol[5]=2;

int x, y;//Тут координаты найденные
int Xx=0, Yy=0;//Вспомогательные
textbkcolor (8454143,255);//Установка цвета текста
int colors, xw, yw;
getdisplay(colors, xw, yw);
if (findheapcolor(1, #color[0], #kol[0], 6, 6, #x, #y, 36, 36, 72, 72, 0, 0, xw, yw, r, r, r, r, r, r, -1)==1)
{
//string u=format(yw)+"Биржа найдена!"+format(y);
//messagebox (u);
textout(0, x, y, "Биржа найдена!", 0);
//sleep(100);
}
else{
//messagebox (""); textout(0, Xx, Yy, "", 0);
}
sleep(2000);

(Отредактировано автором: 25 Февраля, 2025 - 07:14:21)

 
 Top
Kibor
Отправлено: 26 Февраля, 2025 - 11:39:34
Post Id



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


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




kol[0]=195;
kol[1]=66;
kol[2]=15;
kol[3]=6;
kol[4]=4;
kol[5]=2;

это очень много количество..

Как подбирать цвета(для просмотра ссылки Вам необходимо авторизоваться)

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


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




Powered by