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

Страниц (30): В начало « ... 2 3 4 5 [6] 7 8 9 10 ... » В конец
 

51. Kibor - 22 Января, 2018 - 18:17:56 - перейти к сообщению
Такое может быть из за большого размера. Что собственно случается очень редко.

В этом случае надо самому фильтровать по позиции примерно так

 Цитата:
string Text;
loadsymbolbase ("C:\Users\Вова\Desktop\basetext.sib");
readtext (RU, #Text, 8, 1, -1, -1, -1, -1, -1, 0, -1, 185, 263, 1013, 409, -1);


char c[100];
strcpy(#c[0], Text);

int a=size(#c[0]);


Text=format(#c[0]);


int kml=0;
string t="";
int tn;
int min;
int sm=-99999;
for (int n1=0; n1<a; n1++)
{
min=99999;
tn=-1;
for (int n=0; n<a; n++)
{
if (c[n]!=10 && c[n]!=13 && c[n]!=32)
{
if (symbolxpos(n)<min && symbolxpos(n)>sm){min=symbolxpos(n); tn=n;}
}
}
sm=min;
if (tn!=-1)t=t+c[tn];
}
messagebox (t);
52. Valerij - 09 Марта, 2018 - 18:42:23 - перейти к сообщению
Я так понимаю что функция readtext в качестве зоны сканирования принимает только статичную зону сканирования.
Можно ли надеятся что в будущемь будет добавлена динамичная зона сканирования, например в виде перменной или масива, в случае если необходимо привязать распознавание текста к какому то динамическому обекту?
Думаю это сильно расширило б возможности даной функции и простоту создания ботов с ней.
53. Zireael - 10 Марта, 2018 - 01:22:33 - перейти к сообщению
 Цитата:
Я так понимаю что функция readtext в качестве зоны сканирования принимает только статичную зону сканирования.

Нет. Область поиска можно задать переменными.
54. Kibor - 10 Марта, 2018 - 03:01:32 - перейти к сообщению
 Valerij пишет:
Я так понимаю что функция readtext в качестве зоны сканирования принимает только статичную зону сканирования

Это чего это?
Можно менять как угодно в процессе работы.
 Valerij пишет:
Можно ли надеятся что в будущемь будет добавлена динамичная зона сканирования, например в виде перменной или масива, в случае если необходимо привязать распознавание текста к какому то динамическому обекту?

Это можно.
Этот код найдет зоны текста где написаны имена игроков и распознает имена.
Зоны определяются относительно фрагмента таблички под текстом. Пояснение на скрине.

Скачать на диск C
Базу распознавания с первого поста http://kibor-bot.com/files/basetext.sib
Искомое изображение части таблички http://kibor-bot.com/files/readtext_fifa/tab.bmp

Пояснение:

Нажмите для увеличения


Сканируется это изображение и распознается на нем текст. Расположить его так, что бы был на экране весь.

Нажмите для увеличения





CODE:
int tab[50][50];
int x[10], y[10];
int r=50, p=100;

int col, ex, ey;

int smX=38, smY=55;
int razmX=93, razmY=12;

int zona_text_X1, zona_text_Y1;
int zona_text_X2, zona_text_Y2;

string Text;

if (loadimage (#tab[0][0], "C:\tab.bmp")<1){messagebox ("нет C:\tab.bmp"); goto er;}
if (loadsymbolbase ("C:\basetext.sib")<1){messagebox ("нетC:\basetext.sib"); goto er;}


getdisplay(col, ex, ey);

pause(1000);
int k=findimage(10, #tab[0][0], 0, #x[0], #y[0], 0, 0, ex, ey, r, r, r, r, r, r, p, 1, -1);


for (int n=0; n<k; n++)
{
zona_text_X1=x[n]-smX;
zona_text_Y1=y[n]-smY;
zona_text_X2=zona_text_X1+razmX;
zona_text_Y2=zona_text_Y1+razmY;

readtext (EN, #Text, 9, 1, 50, -1, -1, -1, -1, 0, 50, zona_text_X1, zona_text_Y1, zona_text_X2, zona_text_Y2, -1);
messagebox (Text);
pause(1000);
}

er:;
55. Valerij - 11 Марта, 2018 - 10:53:47 - перейти к сообщению
Спасибо за доступное пояснение.
Теперь понял почему у меня не работало
56. Flash - 22 Марта, 2018 - 15:25:02 - перейти к сообщению
Всем привет, столкнулся с проблемой, понадобилась в функцию readtext добавить EN , но кибор начал выдавать ошибку. Начал комбинировать c NUM | RU | MARK | EN , по всякому делал. вот эти работают NUM | RU | MARK, хоть по отдельности хоть в паре, но если есть EN то всё ошибка.
57. Kibor - 22 Марта, 2018 - 15:38:40 - перейти к сообщению
Flash , В затруднении
Навскидку.. Подозреваю что где то объявлена переменная EN типа int, которая затерла этот флаг своим значением.
(Добавление)
Обновил программу.
Теперь Кибор не даст использование имен для переменных, которые зарезервированы под флаги.

CODE:
NUM, RU, MARK, EN, JPG, PNG, BMP, BUTTON, EDIT, CHECK, COMBO, STATIC
58. Flash - 23 Марта, 2018 - 01:46:03 - перейти к сообщению
 Kibor пишет:
Flash , В затруднении
Навскидку.. Подозреваю что где то объявлена переменная EN типа int, которая затерла этот флаг своим значением.
(Добавление)
Обновил программу.
Теперь Кибор не даст использование имен для переменных, которые зарезервированы под флаги.

CODE:
NUM, RU, MARK, EN, JPG, PNG, BMP, BUTTON, EDIT, CHECK, COMBO, STATIC


ааа точно есть такое )) просто обычно выходит ошибка типа "повторение переменной" или что то такое )), а я как обычно пол дня сидел крути вертел туда сюда никак не получается))
59. Flash - 06 Апреля, 2018 - 14:14:58 - перейти к сообщению
Kibor , Здравствуйте а можно поинтересоваться какая у вас марка процессора. интел или амд ?
60. Kibor - 06 Апреля, 2018 - 15:12:09 - перейти к сообщению
intel, но поверьте , работа кибор не привязана к нему).

Powered by ExBB FM 1.0 Final