В настоящее время я пишу программу на C ++, которая должна считывать шестнадцатеричные данные из изображений JPEG. Я должен скомпилировать его в один один windows исполняемый файл без каких-либо внешних ресурсов (например, каталог "tessdata" или файлы конфигурации). Поскольку я не читаю никаких слов или предложений, мне не нужны словари или языки.
Моя проблема в том, что теперь я не смог найти способ инициализации API без каких-либо языковых файлов. Каждый пример использует что-то вроде этого:
tesseract::TessBaseAPI api;
if (api.Init(NULL, "eng")) {
// error handling
return -1;
}
// do stuff
Я также обнаружил, что могу вызывать функцию init без аргумента языка и с помощью OEM_TESSERACT_ONLY
:
if(api.Init(NULL, NULL, tesseract::OcrEngineMode::OEM_TESSERACT_ONLY)) {
// ...
}
Этот должен отключить язык / словарь, но NULL
по умолчанию "eng". Похоже, что tesseract все еще хочет инициализировать языковой файл и впоследствии отключит его.
Это также относится и к любым другим решениям, которые я нашел до сих пор: мне всегда нужны файлы .traineddata для инициализации API и могу впоследствии отключить их или использовать файлы конфигурации .
Мой вопрос сейчас: есть ли способ инициализации API-интерфейса tesseract в C ++ с использованием только исполняемого файла и никаких других файлы ресурсов?