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

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

 Страниц (30): В начало « 16 17 18 19 [20] 21 22 23 24 » В конец    

> Описание: Обучаемая функция распознавания текста. Инструмент обучения распознавания.
Zireael
Отправлено: 12 Июля, 2020 - 14:56:11
Post Id



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


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




 Цитата:
время из формата string = "00:00:00" попробовать перевести секунды в целочисленном формате

CODE:
int second = time("00:02:34"); // 154 секунды
messagebox(second);

second = time("5:16"); // 316 секунд
messagebox(second);


function time(string text)
{
string s[3]; initialarray(#s[0], "0");
regexsearch(3, #s[0], text, "\d+", RIGHTTOLEFT);
return formatsn(s[0]) + formatsn(s[1]) * 60 + formatsn(s[2]) * 3600;
}
 
 Top
Remyc
Отправлено: 12 Июля, 2020 - 16:32:44
Post Id



Пользователь
Участник


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




Zireael , У меня получилось вот так:
CODE:
string a=text_KIB;
char c[9];
strcpy(#c[0], a);
c[8]=":";
int u=size(a)+1;
string t="";
for (int n=0; n<u ; n++)
{
if (c[n]==':'){redsec[x]=formatsn(t); t="";x++;}
else t=t+c[n];
}
int sec=redsec[0]*60*60+redsec[1]*60+redsec[2];
messagebox(format(sec));

Но твой вариант мне нравится больше Улыбка
 
 Top
Kibor
Отправлено: 10 Августа, 2020 - 19:25:17
Post Id



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


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




Использование Питона для корректировка неточно распознанных слов при распознавание текста:
Но этот код работает быстрее

CODE:


if (runpython()==0){messagebox ("Не удалось запустить Python"); goto er;}//Запускаем интерпретатор Python
sendgetpython("import difflib");

//Массив верных слов
int kml=7;
string all_string[7]={"junior", "working", "recognition", "with", "violet", "interest", "renewal"}

messagebox ("корявое junlor = точое "+rez("junlor"));//Узнаем каккое слово близкое к корявому junlor
messagebox ("корявое worklng = точое "+rez("worklng"));//Узнаем каккое слово близкое к корявому worklng
messagebox ("корявое recognjtion = точое "+rez("recognjtion"));//Узнаем каккое слово близкое к корявому recognjtion
messagebox ("корявое recognllltjon точое = "+rez("recognllltjon"));//Узнаем каккое слово близкое к корявому recognllltjon
messagebox ("корявое lnterest = точое "+rez("lnterest"));//Узнаем каккое слово близкое к корявому lnterest
messagebox ("корявое vlolet = точое "+rez("vlolet"));//Узнаем каккое слово близкое к корявому vlolet
messagebox ("а на что похоже это? ietsert = точое "+rez("ietsert"));//Узнаем каккое слово близкое к корявому ietsert


closepython();//Завершаем работу с интерпретатором
er:;




function rez(string s)
{
double max=-1;
double t;
double i=0;
for (int n=0; n<kml; n++)
{
t=compare(s, all_string[n]);
if (t>max)
{
max=t;
i=n;
}
}
return all_string[i];
}



function compare(string s1, string s2)
{
sendgetpython("s1=^'"+s1+"^'");
sendgetpython("s2=^'"+s2+"^'");
__python
normalized1 = s1.lower()
normalized2 = s2.lower()
matcher = difflib.SequenceMatcher(None, normalized1, normalized2)
__end_python
return formatsn(sendgetpython("matcher.ratio()"));
}


 
 Top
konctantin777
Отправлено: 07 Декабря, 2020 - 20:19:56
Post Id



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


Покинул форум
Сообщений всего: 1136
Дата рег-ции: Окт. 2017  
Откуда: Архангельск
Репутация: 6




Здравствуйте.
сделал код (Отобразить)

Не пойму где ошибся ? Цель- если есть слово кубик, то ищем слово оплатить, если есть нажимаем, если нет- ищем слово выкупит- нажимаем, если нету, снова слово кубик и нажимаем на него.
А такой же шаблон (Отобразить)
но по-меньше- работает...
(RIGHT стоит, чтобы видеть, нажимает ли хоть где то)

(Отредактировано автором: 07 Декабря, 2020 - 20:21:06)

 
 Top
Zireael
Отправлено: 08 Декабря, 2020 - 00:39:28
Post Id



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


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




А причём тут функция распознавания текста? Вопрос не соответствует теме.
 Цитата:
Не пойму где ошибся ?

Ошибка в логике.
CODE:
if(найдено)
{
// действия если найдено
}
else
{
// действия если не найдено
}
 
 Top
konctantin777
Отправлено: 08 Декабря, 2020 - 19:45:57
Post Id



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


Покинул форум
Сообщений всего: 1136
Дата рег-ции: Окт. 2017  
Откуда: Архангельск
Репутация: 6




 konctantin777 пишет:
if(regexsearch(1, #text_KIB2, text_KIB, "оплат")) // если слово найдено
{regexstart(#Pos_start); // узнали позицию первого символа
sendmouse(RIGHT, symbolxpos(Pos_start)+61+50, 116+symbolypos(Pos_start), w_KIB); // добавить начальные координаты из readtext
text_static0[1]="оплатить..";pause(500);//text_KIB=text_KIB_0;

А тут получается находит 1й символ из всего text_KIB ? А как находить именно 1й символ искомого слова тут ? (нажимает иногда в самое начало зоны поиска)

(Отредактировано автором: 08 Декабря, 2020 - 19:54:51)

 
 Top
Zireael
Отправлено: 09 Декабря, 2020 - 01:32:12
Post Id



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


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




 Цитата:
А тут получается находит 1й символ из всего text_KIB ?

Нет, возвращает позицию первого символа искомого слова.
 
 Top
konctantin777
Отправлено: 12 Декабря, 2020 - 10:03:15
Post Id



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


Покинул форум
Сообщений всего: 1136
Дата рег-ции: Окт. 2017  
Откуда: Архангельск
Репутация: 6




Снова здравствуйте.
Подскажите, почему можнт находиться слово "купить" ? Распознаётся всё нормально....
CODE:
if (regexsearch(-1, #text_KIB, text_KIB, "вькупит")) // если слово найдено- нажимаем
{regexstart(#Pos_start); // узнали позицию первого символа
sendmouse(LEFT, 40+symbolxpos(Pos_start), symbolypos(Pos_start)+130, w_KIB); // добавить начальные координаты из readtext
text_static0[1]="Выкупаю..";Что_моргает(); pause(5500);кнопки_в_игре(nx1, ny1);
}
 
 Top
Zireael
Отправлено: 12 Декабря, 2020 - 17:38:13
Post Id



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


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




 Цитата:
почему можнт находиться слово "купить" ?

Дайте пример текста и код, где что-то неправильно находится или не находится.
 
 Top
konctantin777
Отправлено: 12 Декабря, 2020 - 18:18:16
Post Id



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


Покинул форум
Сообщений всего: 1136
Дата рег-ции: Окт. 2017  
Откуда: Архангельск
Репутация: 6




 Zireael пишет:
Дайте пример текста и код, где что-то неправильно находится или не находится.

CODE:
кнопки_в_игре(nx1, ny1);
if (regexsearch(-1, #text_KIB2, text_KIB, "кубик")) // если слово найдено- заходим
{ text_static0[1]="внутри кубика";
кнопки_в_игре(nx1, ny1);
if (regexsearch(-1, #text_KIB, text_KIB, "вькупит")) // если слово найдено- нажимаем
{regexstart(#Pos_start); // узнали позицию первого символа
sendmouse(LEFT, 40+symbolxpos(Pos_start), symbolypos(Pos_start)+130, w_KIB); // добавить начальные координаты из readtext
text_static0[1]="Выкупаю..";Что_моргает(); pause(5500);кнопки_в_игре(nx1, ny1);
}

if (regexsearch(-1, #text_KIB2, text_KIB, "оплати")) // если слово найдено- нажимаем
{regexstart(#Pos_start); // узнали позицию первого символа
sendmouse(LEFT, 40+symbolxpos(Pos_start), symbolypos(Pos_start)+130, w_KIB); // добавить начальные координаты из readtext
text_static0[1]="Оплачиваю..";pause(1500);кнопки_в_игре(nx1, ny1);
}
кнопки_в_игре(nx1, ny1);
if (regexsearch(-1, #text_KIB2, text_KIB, "кубик")) // если слово найдено- нажимаем
{regexstart(#Pos_start); // узнали позицию первого символа
sendmouse(LEFT, 40+symbolxpos(Pos_start), symbolypos(Pos_start)+130, w_KIB); // добавить начальные координаты из readtext
text_static0[1]="Бросаю кубик..";pause(1500);кнопки_в_игре(nx1, ny1);
}
}

Или находится, но щелкает куда то не туда...
 
 Top
Страниц (30): В начало « 16 17 18 19 [20] 21 22 23 24 » В конец
Сейчас эту тему просматривают: 2 (гостей: 2, зарегистрированных: 0)
« О программе Кибор »


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




Powered by