Зоны определяются относительно фрагмента таблички под текстом. Пояснение на скрине.
Скачать на диск C
Базу распознавания с первого поста http://kibor-bot.com/files/basetext.sib
Искомое изображение части таблички //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:;
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:;