Her şeyden önce, seçim yineleyicisini doğru anladığımı doğrulamak istiyorum.
Örneğin, bir resmin "kapsamı" ile ilgili bir kelimem varsa
seçim yineleyici bana "s" ve belki Next (), "5" gibi bir şey vermelidir.
3. "o" harfi için belki "0", Sonraki() "O" ve Sonraki() "o" öğelerinden sonra.
Anlıyorum doğru mu?
İşte bütün ilgili kodlarım
api.SetImage((uchar*)img->imageData,img->width,img->height,img->depth/8,img->widthStep);
api.SetRectangle(0,0,img->width, img->height);
int left,top,right,bottom;
left=0;top=0;right=0;bottom=0;
api.Recognize(NULL);
tesseract::ResultIterator *ri=api.GetIterator();
tesseract::ChoiceIterator *choiceItr;
const tesseract::ResultIterator itr = *ri;
choiceItr = new tesseract::ChoiceIterator(itr);
const char * out=choiceItr->GetUTF8Text();
char * out2=(*ri).GetUTF8Text(tesseract::RIL_SYMBOL);
printf("out:%s,out2:%s",out,out2);
konsoldaki çıkış:
Çıkış: (boş) out2: P
p beklenen sonuç yineleyici sonucu, ancak seçim yineleyici çıktı null.
fikirler için teşekkürler.
yaklaşık çözüldü:
// This ensures Tesseract's "blob_choices" structures are filled
SetVariable("save_best_choices", "T");
http://code.google.com/p/tesseract-ocr/sorunlar/detay? id = 555