кода нет, идею подскажу:
1. допустим текст почти выровнен по строчкам горизонтально
2. вычисляешь высоту строчки - отсюда размер шрифта
3. рисуешь в картинку алфавит шрифтом данного размера
4. Начинаешь проходить строчки от начала до конца с шагом распознанной буквы
5. Для распознавания буквы используешь операцию кореляции
Код:
double corr = 0.;
double mid1 = 0.;
double mid2 = 0.;
for(x=0; x<X; ++x)
for(y=0; y<Y; ++y)
mid1 += image1[x+x_offset,y+y_offset];
mid1/=X*Y;
for(x=0; x<X; ++x)
for(y=0; y<Y; ++y)
mid2 += image2[x,y];
mid2/=X*Y;
for(x=0; x<X; ++x)
for(y=0; y<Y; ++y)
corr+=(image1[x+x_offset,y+y_offset] - mid1)*(image2[x,y] - mid2);
та буква, у которой corr будет максимальным по модулю и есть мамая похожая. Нужно правда минимальный порог установить, вдруг неизвестный символ.
Работает эта процедура очень медленно. Надёжность как у файнридера тоже не гарантирую.