|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.07.2015, 18:54 | #1 |
Новичок
Джуниор
Регистрация: 25.07.2015
Сообщений: 4
|
Tesseract, изменить путь к tessdata
Здравствуйте. Изучаю библиотеку распознавания изображений Tesseract OCR. Использую компилятор MinGW. Ставил либу по этой инструкции.
В итоге тестовый проект собирается, все работает, но при запуске на другом ПК выдает исключение: "Error opening data file С:/MinGW/share/testdata/eng.traineddata Please make sure the TESSDATA_PREFIX environment variable is set to the parent directory of your "tessdata" directory". Судя по найденной информации, нужно чтобы в переменной окружения "TESSDATA_PREFIX" был прописан путь до папки "tessdata" с языковыми файлами. Если таковой переменной нет, то должен подхватывать из текущей директории программы. Но этого не происходит. Если переменная окружения не задана, то в ошибке ссылается на путь "С:/MinGW/share/testdata/eng.traineddata". Установить переменную пытался следующим способом: Код:
Если же вручную установить "TESSDATA_PREFIX = ./", то все прекрасно работает. Буду благодарен совету как можно сделать чтобы testdata цеплялась из директории с программой, либо как из программы эту саму переменную окружения установить(изменить)? |
25.07.2015, 22:33 | #2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
./ ето относительный путь.
Попробийте в окружение записать полный путь, типа TESSDATA_PREFIX=c:/path/to/data Изменения делаются вызовом SetEnvironmentData (логично ведь) но это надо делать *до * того как запустите tesseract из вашей программы. |
25.07.2015, 22:42 | #3 |
Новичок
Джуниор
Регистрация: 25.07.2015
Сообщений: 4
|
Спасибо за ответ. Проблема несколько иная. Если в переменной окружения TESSDATA_PREFIX прописан полный или же относительный путь, то tesseract файлы видит. Но на чистом компьютере этой переменной нету. Т.е. перед запуском приложения если ручками создать переменную в системе, то программа работает. Но как мне создать ее на лету, программно. Желательно без использования дополнительных скриптов, чистым С++.
|
26.07.2015, 00:09 | #4 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
В вашей программе до запуска tesseract вызовите SetEnvironmentData.
Или конфигурируйте программу при установке, через HKEY_CURRENT_USER\Environment |
26.07.2015, 00:19 | #5 |
Новичок
Джуниор
Регистрация: 25.07.2015
Сообщений: 4
|
Не подскажите в состав какого класса входит функция SetEnvironmentData? Не смог найти ее в доках Microsoft. Сразу вначале программы я меняю переменную через функцию winapi SetEnvironmentVariable. Проверяю что переменная назначена через GetEnvironmentVariable. Далее пробую инициализировать tesseract. В результате при выполнении tesseract все так же не находит папку и ищет он ее по какому то дефолтному пути, в папке компилятора "share".
Собственно вот так: Код:
|
26.07.2015, 09:39 | #6 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,331
|
Ой, я не то написал. Да, речь идет о SetEnvironmentVariable...
Однако, зачем вообще нужна переменная окружения - насколько я вижу, методу Init передается путь к данным, разве нет? Всегда лучше использовать абсолютный путь. Ну и не на последнем месте, tesseract вроде open-source - что мешает скачать да посмотреть в исходники? |
26.07.2015, 11:41 | #7 |
Новичок
Джуниор
Регистрация: 25.07.2015
Сообщений: 4
|
Ради теста прописал полный путь в методе инициализации тессеракта.
Он полностью игнорирует этот параметр, ищет все так же по дефолту в папке компилятора. Если назначать переменную через SetEnvironmentVariable, то все равно ищет там же, т.е. снова игнор. Просмотр исходников мне понимания проблемы не принес. Видимо не хватает знаний=\ |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Распознавание используя tesseract-ocr | cardon | Win Api | 2 | 05.11.2012 18:38 |
Изменить путь копирования файлов | volchek3 | Общие вопросы Delphi | 0 | 08.07.2012 00:24 |
как изменить путь к подключённой мастером БД | Snake22 | C# (си шарп) | 0 | 09.06.2012 21:38 |
Как изменить путь гиперссылки | Людмилка | Microsoft Office Excel | 2 | 07.12.2011 09:31 |
Изменить путь к БД Access | Andrey85 | БД в Delphi | 9 | 14.11.2010 16:23 |