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

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

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

> Описание: не могу разобраться с обработкой readtext
wotres2
Отправлено: 26 Января, 2023 - 15:36:45
Post Id



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


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




Доброго времени.
Не могу разобраться Readtext.
необходимо:
1. скан области.
2. запись символов с коэффициентом совпадения.
3. удаление пробелов.
 
 Top
wotres2
Отправлено: 26 Января, 2023 - 22:55:21
Post Id



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


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




 wotres2 пишет:
Доброго времени.
Не могу разобраться Readtext.
необходимо:
1. скан области.
2. запись символов с коэффициентом совпадения.
3. удаление пробелов.


в данный момент это единственная преграда перед полным отходом от виз. редактора, не могу преодолеть.

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

int n;
int readtextscan;
string text[15];
int global_screen[1370][770]; //скриншот
int cor;
string text1;

sleep(5000);
screen (#global_screen[0][0], 0, 0, 1366, 768, -1);
loadsymbolbase("C:\12345\newimage\archeage\farm_craft\numbers.sib"Подмигивание;
cor = 0.8;
readtextscan = readtext (NUM, #text[0], 8, 1, -1, 0, 0, -1, -1, -1, 50, 810, 352, 825, 361, #global_screen[0][0]);
for (n=0; n<readtextscan; n++)
{
loop(readtextscan)
{
if (symbolcorrect(n)<cor)
{
text[n]=text[n+1];
}
}
}
for (n=0; n<readtextscan; n++)
{
text1=text1+text[n];
}
if (format(text1)>0)
{
messagebox(text1);
}

(Отредактировано автором: 26 Января, 2023 - 23:00:44)

 
 Top
Zireael
Отправлено: 27 Января, 2023 - 01:31:16
Post Id



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


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




 Цитата:
int cor;
cor = 0.8;

Нельзя в переменную int записать дробное число, нужно использовать double.
 Цитата:
3. удаление пробелов.

Можно регуляркой удалить, в описании есть примеры.

Когда давно писал функцию для удаления некорректно распознанных символов.
CODE:
string Text;
loadsymbolbase ("D:\Kibor2\basetext.sib");
readtext (NUM, #Text, 8, 1, -1, -1, -1, -1, -1, 0, -1, 311, 419, 483, 447, -1);

messagebox (Text); // распозннный текст
correct(#Text, 0.7); // 0.7 корректность символа (от 0 до 1)
messagebox (Text); // текст после удаления некорректных символов


function correct(string #text, double cor)
{
char c[999];
strcpy(#c[0], text);
text="";
for(int i=0; i<size(#c[0]); i++)
{
if(symbolcorrect(i) >= cor)text=text+c[i];
}
}

(Отредактировано автором: 27 Января, 2023 - 01:32:54)

 
 Top
wotres2
Отправлено: 27 Января, 2023 - 15:17:40
Post Id



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


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




 Zireael пишет:
 Цитата:
int cor;
cor = 0.8;

Нельзя в переменную int записать дробное число, нужно использовать double.
 Цитата:
3. удаление пробелов.

Можно регуляркой удалить, в описании есть примеры.

Когда давно писал функцию для удаления некорректно распознанных символов.
CODE:
string Text;
loadsymbolbase ("D:\Kibor2\basetext.sib");
readtext (NUM, #Text, 8, 1, -1, -1, -1, -1, -1, 0, -1, 311, 419, 483, 447, -1);

messagebox (Text); // распозннный текст
correct(#Text, 0.7); // 0.7 корректность символа (от 0 до 1)
messagebox (Text); // текст после удаления некорректных символов


function correct(string #text, double cor)
{
char c[999];
strcpy(#c[0], text);
text="";
for(int i=0; i<size(#c[0]); i++)
{
if(symbolcorrect(i) >= cor)text=text+c[i];
}
}


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


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




Powered by