Tesseract OCR:仅识别完整的字典单词

时间:2013-12-15 21:02:13

标签: image-processing cordova ocr tesseract

我正在使用tesseract OCR插件进行phonegap:https://github.com/jcesarmobile/PhonegapOCRPlugin/i

我正在尝试配置tesseract只识别完整的字典单词。即:没有特殊字符,没有后缀或前缀等。

由于这个项目中的tessdata文件夹不包含任何配置,我以为我会在init上设置配置。 现在我试图通过修改claseAuxiliar.mm来设置配置,但我不能说我注意到有任何区别,这可能是因为配置错误或我设置错了。以下是我的配置,以及我目前正在尝试如何设置它们:

    // 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");

1 个答案:

答案 0 :(得分:0)

您可能想要尝试禁止系统词典并加载备用自定义词典。

https://github.com/tesseract-ocr/tesseract/blob/master/doc/tesseract.1.asc