2012-06-19 19 views
7

tôi thực hiện đoạn mã sau để tạo ra giá trị niềm tin nhân vật khôn ngoan:giá trị niềm tin nhân vật khôn ngoan sử dụng Tesseract 3,01

int main(int argc, char **argv) { 

    const char *lang="eng"; 
    const PIX *pixs; 
    if ((pixs = pixRead(argv[1])) == NULL) { 
     cout <<"Unsupported image type"<<endl; 
     exit(3); 
     } 
    TessBaseAPI api; 
    api.SetVariable("save_blob_choices", "T"); 
    api.SetPageSegMode(tesseract::PSM_SINGLE_WORD );   
    api.SetImage(pixs); 
    int rc = api.Init(argv[0], lang); 
    api.Recognize(NULL); 
    ResultIterator* ri = api.GetIterator(); 
    if(ri != 0) 
    { 
     do 
     { 
      const char* symbol = ri->GetUTF8Text(RIL_SYMBOL); 
      if(symbol != 0) 
      { 
       float conf = ri->Confidence(RIL_SYMBOL); 
       cout<<"\nnext symbol: "<< symbol << " confidence: " << conf <<"\n" <<endl; 

      } 


      delete[] symbol; 
       } while((ri->Next(RIL_SYMBOL))); 
    } 
    return 0; 
} 

link to image

sản lượng thu được cho hình trên là:

biểu tượng tiếp theo: N tin cậy: 72.3563 biểu tượng tiếp theo: B tự tin: 72.3563

tiếp theo biểu tượng: E ​​tự tin: 69,9937 tiếp theo biểu tượng: T tự tin: 69,9937
biểu tượng tiếp theo: R tự tin: 69,9937 biểu tượng tiếp theo: Một niềm tin: 69,9937
biểu tượng tiếp theo: N tự tin: 69,9937 tiếp theo biểu tượng: G tự tin: 69,9937
biểu tượng tiếp theo: - sự tự tin: 69,9937 biểu tượng tiếp theo: Tôi tự tin: 69.9937

Như được hiển nhiên, giá trị độ tin cậy cho các ký tự thuộc cùng một từ giống nhau. Đây có phải là đầu ra dự kiến ​​không? Không nên các giá trị độ tin cậy khác nhau cho mỗi nhân vật? Tôi đã thử thực thi mã cho một từ trong đó mỗi ký tự có kiểu phông chữ khác nhau..và giá trị độ tin cậy giống nhau cho các ký tự thuộc cùng một từ.

Trả lời

2

Vấn đề là bạn đang gọi Init sau cuộc gọi SetVariable.

Các vấn đề liên quan