Метод инициализации Tessnet2 падает с определенным путем tessdata
Я использую сборку Tessnet2 (которая использует Tesseract), чтобы сделать OCR. К сожалению, программа вызывает сбой без каких-либо исключений после вызова метода init:
tessnet2.Tesseract ocr = new tessnet2.Tesseract();
ocr.Init(@"D:\Test\Tessdata\german", "deu", false);
Немецкая папка содержит следующие данные из двух слов:
- deu.DangAmgigs
- deu.freq-Dawg
- deu.inttemp
- deu.normproto
- deu.pffmtable
- deu.unicharset
- deu.user-слова
- deu.word-Dawg
Если я использую null
для пути это работает нормально, потому что я установил tesseract на моей машине. Однако мне нужно решение с путем, потому что там, где программа будет деплирована, не гарантируется, что установлен tesseract.
2 ответа
Решение
Проблема в том, что если у вас установлен Tesseract, то есть переменная окружения (TESSDATA_PREFIX
) который содержит путь к tessdata. Чтобы использовать свой собственный путь, необходимо удалить Tesseract и удалить переменную окружения.