Кибор » Кибор - Интегрированная среда разработки ботов » О программе Кибор » Версия 5.27 Функция распознавания текста.

Страниц (30): В начало « ... 7 8 9 10 [11] 12 13 14 15 ... » В конец
 

101. Kibor - 18 Октября, 2018 - 18:51:50 - перейти к сообщению
Настройки по умолчанию оставьте.
Базу скачайте демонстрационную.
Ничего в настройках не меняйте, кроме как включите интеллект (уровень не меняйте)
Распознавайте. Все ок.

Судя по скрину там где слипшиеся рт дали 62 оценку букве р, налицо неправильное обучение базы.
Короче используйте что есть без вмешательства и все будет работать.

А если обучаете базу, не забывайте правильно разделять слипшиеся символы ползунками в окошке обучения.
102. Romingood - 18 Октября, 2018 - 18:55:34 - перейти к сообщению
 Zireael пишет:
 Цитата:
как блоки красным закрашиваются.

То что буквы сливаются не имеет никакого значения. При включенной галке интеллект они будут распознаны как надо.
https://ibb.co/hkFRO0


Скиньте плз архив с настройками, базой на почту romingood собакин yandex точка ru
Заранее благодарен!
103. Kibor - 18 Октября, 2018 - 19:49:04 - перейти к сообщению
Дело не в базе. База стандартная.
Дело в подходе к задаче.
вы наверно пытаетесь за один проход распознать всю зону окна.
Это не правильно. Надо назначить нужным данным которые надо распознать свои зоны и по отдельности их сканировать, так как строки текстов не в линию, а одна надпись выше, другая ниже.
Но использовать распознавание имеет смысл тут только если это скрины.
А если реальное окно программы, то проще считывать данные прямо с окон. С эдитов, или чего там надо.

Пример получения текста с Edit (Окно "Выполнить") в windowd 7
Указатель получить в шпионе - контрол. Н а поле с текстом выполняемой команды или программы.

CODE:
win w=window (-1, "Edit", window ("Выполнить", "#32770", -1));

char p[100];
sendmessage(WM_GETTEXT,100, address(#p[0]), w);
messagebox (format(#p[0]));
104. Romingood - 19 Октября, 2018 - 03:42:11 - перейти к сообщению
 Kibor пишет:
проще считывать данные прямо с окон. С эдитов, или чего там надо.


Мысль отличная, обязательно воспользуюсь ей при случае, но сейчас у меня удаленный десктоп, так что всё в виде пикселей.

Но все равно спасибо за умные мысли!
105. ivantu - 22 Октября, 2018 - 07:13:38 - перейти к сообщению
Друзья извиняюсь, если уже спрашивалось, а как можно кликнуть в координаты найденного слова?
106. Zireael - 22 Октября, 2018 - 07:17:49 - перейти к сообщению
 Цитата:
как можно кликнуть в координаты найденного слова?

http://kibor-bot.com/forum/topic...14757#1539014757
107. ivantu - 22 Октября, 2018 - 07:22:59 - перейти к сообщению
Спасибо, но что то не хочет кликать
CODE:
mouse(LEFT, symbolxpos(0)+rand(10,15), symbolypos(0)-rand(5,10), wind);


P/S нашел свою ошибку маус надо было на sendMouse поменять, но клики все равно не туда где текст нашелся
(Добавление)
Друзья помогите кликнуть по тексту, нажимает почему то в верхний левый угол окна а не текста, хотя текст находит, и распознает как надо.

CODE:

sendmouse(LEFT, symbolxpos(0)+rand(10, 15), symbolypos(0)-rand(5, 10), wind);
108. Zireael - 22 Октября, 2018 - 17:34:09 - перейти к сообщению
 Цитата:
нажимает почему то в верхний левый угол окна а не текста

symbolxpos - возвращает позицию символа по X от начала зоны поиска.
Прибавьте начальные координаты поиска.
109. ivantu - 23 Октября, 2018 - 00:17:08 - перейти к сообщению
 Zireael пишет:
 Цитата:
нажимает почему то в верхний левый угол окна а не текста

symbolxpos - возвращает позицию символа по X от начала зоны поиска.
Прибавьте начальные координаты поиска.


что то я не совсем понял указать размеры окна, или то что я выделил красным?

вот мой код целиком

CODE:

win wind=window ("BlueStacks Android PluginAndroid", -1, window ("BlueStacks", -1, -1));
string Text;
loadsymbolbase ("F:\Soft\Kibor\images\sw_base.sib");

startuem:
readtext (RU | MARK, #Text, 2, 1, -1, -1, -1, -1, -1, 0, -1,[color=red] 184, 231, 299, 262[/color], wind);
//messagebox (Text);//тест
//sendmouse(LEFT,x, y,wind);
if (Text == "повторить") {
sendmouse(LEFT, symbolxpos(0)+rand(10, 15), symbolypos(0)-rand(5, 10), wind);
//messagebox (Text);//тест
}
sleep 500;
goto startuem;
110. Zireael - 23 Октября, 2018 - 03:18:59 - перейти к сообщению
 Цитата:
win wind=window ("BlueStacks Android PluginAndroid", -1, window ("BlueStacks", -1, -1));
string Text;
loadsymbolbase ("F:\Soft\Kibor\images\sw_base.sib" );

startuem:
readtext (RU | MARK, #Text, 2, 1, -1, -1, -1, -1, -1, 0, -1, 184, 231, 299, 262, wind);
//messagebox (Text);//тест
//sendmouse(LEFT,x, y,wind);
if (Text == "повторить" ) {
sendmouse(LEFT, 184+symbolxpos(0)+rand(10, 15), 231+symbolypos(0)-rand(5, 10), wind);
//messagebox (Text);//тест
}
sleep 500;
goto startuem;

Powered by ExBB FM 1.0 Final