Я хочу использовать объект Tesseract от EMGU.CV для распознавания некоторых изображений. Для начала я скачал, скомпилировал и запустил их примеры OCR и LicensePlateRecognition.
Однако Тессеракт продолжал выдавать следующее исключение:
Невозможно создать модель ocr, используя Path 'teseract' и язык 'eng'.
И я проследил источник до строки:
_ocr = new Tesseract(@"tessdata", "eng", Tesseract.OcrEngineMode.OEM_TESSERACT_CUBE_COMBINED);
Я попытался исправить это наиболее очевидными способами: я дал ему полный путь, скопировал файлы примерно в «C: \» и убедился, что текущий каталог моей программы совпадает с каталогом tessdata в это.
Ничего из этого не сработало, поэтому я использовал procmon и обнаружил, что он ищет файлы здесь:
C: \ Program Files (x86) \ Tesseract-OCR \ tessdata
И кажется, что независимо от того, что я делаю, я не могу изменить его из этого места. (Перемещение файлов туда работало, конечно). Это местоположение не существует нигде в коде EMGU.cv, поэтому я предполагаю, что оно скомпилировано в код Tesseract как некоторый по умолчанию (?).
Итак, как мне изменить Тессеракт от использования этого местоположения? Очевидный путь заключается в том, что конструктор Тессеракт должен ДЕЛАТЬ что-то с путем, по которому я прохожу, так чего мне не хватает?