Tesseract OCR: Reconhecer apenas palavras completas do dicionário
Eu estou usando o plugin OCR tesseract para phonegap:https://github.com/jcesarmobile/PhonegapOCRPlugin/i
Eu estou tentando configurar tesseract para reconhecer apenas palavras completas do dicionário. Ou seja: sem caracteres especiais, sem sufixos ou prefixos etc.
Como a pasta tessdata deste projeto não contém nenhuma configuração, eu pensei em definir configs no init. No momento, estou tentando definir as configurações modificando o claseAuxiliar.mm, mas não posso dizer que notei alguma diferença, isso pode ser porque as configurações estão erradas ou estou configurando-as incorretamente. Abaixo estão minhas configurações e como estou tentando configurá-las:
// init the tesseract engine.
tesseract = new tesseract::TessBaseAPI();
tesseract->Init([dataPath cStringUsingEncoding:NSUTF8StringEncoding], "eng");
if (!tesseract->SetVariable("segment_penalty_dict_nonword","10"))
printf("Setting variable failed!!!\n");
if (!tesseract->SetVariable("segment_penalty_garbage","10"))
printf("Setting variable failed!!!\n");
if (!tesseract->SetVariable("stopper_nondict_certainty_base","-100"))
printf("Setting variable failed!!!\n");
if (!tesseract->SetVariable("language_model_penalty_non_dict_word","1"))
printf("Setting variable failed!!!\n");
if (!tesseract->SetVariable("language_model_penalty_non_freq_dict_word","1"))
printf("Setting variable failed!!!\n");
if (!tesseract->SetVariable("GARBAGE_STRING","5"))
printf("Setting variable failed!!!\n");
if (!tesseract->SetVariable("NON_WERD","5"))
printf("Setting variable failed!!!\n");