Tesseract OCR iOS с возвратом данных MICR Исключение в configEngine - PullRequest
0 голосов
/ 05 сентября 2018

Я пытаюсь получить числа MICR из изображения, используя Тессеракт OCR. У меня есть mcr.traineddata, который я получаю по ссылке ниже. Я помещаю его в папку tessdata и удаляю все о eng и других языках.

https://github.com/BigPino67/Tesseract-MICR-OCR

Я объявляю Тессеракт и обрабатываю изображение с кодом ниже

if let tesseract = G8Tesseract(language: "mcr") {
 tesseract.engineMode = .tesseractCubeCombined
 tesseract.pageSegmentationMode = .auto
 tesseract.image = image.g8_blackAndWhite()
 tesseract.recognize()
 textView.text = tesseract.recognizedText
}

Однако, это дает

other_case

ошибка из G8Tesseract.mm файла внутри TesseractOCRiOS рамки. Ниже приведена функция, которая выдает ошибку в строке int returnCode = _....... Я предполагаю, что это что-то вроде UTF8String, потому что я пытаюсь использовать OCR MICR. Однако я не знаю, как это решить.

- (BOOL)configEngine
{
    GenericVector<STRING> tessKeys;
    for( NSString *key in self.configDictionary.allKeys ){
        tessKeys.push_back(STRING(key.UTF8String));
    }

    GenericVector<STRING> tessValues;
    for( NSString *val in self.configDictionary.allValues ){
        tessValues.push_back(STRING(val.UTF8String));
    }

    int count = (int)self.configFileNames.count;
    const char **configs = count ? (const char **)malloc(sizeof(const char *) * count) : NULL;
    for (int i = 0; i < count; i++) {
        configs[i] = ((NSString*)self.configFileNames[i]).UTF8String;
    }
    int returnCode = _tesseract->Init(self.absoluteDataPath.UTF8String, self.language.UTF8String,
                                      (tesseract::OcrEngineMode)self.engineMode,
                                      (char **)configs, count,
                                      &tessKeys, &tessValues,
                                      false);
    if (configs != nullptr) {
        free(configs);
    }
    return returnCode == 0;
}

Пример того, что я пытаюсь OCR:

image

...