tessnet2 не может загрузить - PullRequest
       46

tessnet2 не может загрузить

15 голосов
/ 13 января 2010

Я использую оболочку tessnet2 для источника Tesseract 2.04 в Windows XP, настроил его для работы с x86.

Основная функция проекта TessarctTest содержит:

        Bitmap bmp = new Bitmap(@"C:\temp\New Folder\dotnet\eurotext.tif");
        tessnet2.Tesseract ocr = new tessnet2.Tesseract();
        // ocr.SetVariable("tessedit_char_whitelist", "0123456789");
        ocr.Init(@"C:\temp\tessdata", "eng", false);
        // List<tessnet2.Word> r1 = ocr.DoOCR(bmp, new Rectangle(792, 247, 130, 54));
        List<tessnet2.Word> r1 = ocr.DoOCR(bmp, Rectangle.Empty);
        int lc = tessnet2.Tesseract.LineCount(r1);

когда я пытаюсь запустить программу, она вылетает в следующей строке внутри ocr.Init

int result = m_myTessBaseAPIInstance->InitWithLanguage((char *)_tessdata.ToPointer(), NULL, (char *)_lang.ToPointer(), NULL, numericMode, 0, NULL);

У кого-нибудь есть идея?

Цените!

Ответы [ 8 ]

24 голосов
/ 26 февраля 2012

Для тех, кто все еще испытывает проблемы после всего этого, убедитесь, что вы используете tessnet2, чтобы загрузить правильные языковые файлы .

Вы хотите Данные на английском языке дляTesseract (2.00 и выше) , а не данные на английском языке для версии Tesseract 3.01 .Надеюсь, это сэкономит вам несколько часов!:)

14 голосов
/ 27 октября 2010

Для тех, кто пытается использовать сборку Tessnet2 для механизма распознавания текста Tesseract в C # и кто сталкивается с проблемой метода Tesseract.Init(), вызывающего сбой вашего приложения - я нашел одну возможную причину.

СначалаЯ предполагаю, что у вас есть файлы следующим образом:

bin\Debug\MyDotNetApp.exe
bin\Debug\tessdata\eng.DangAmbigs
bin\Debug\tessdata\eng.freq-dawg
bin\Debug\tessdata\eng.inttemp
bin\Debug\tessdata\eng.pffmtable
bin\Debug\tessdata\eng.unicharset
bin\Debug\tessdata\eng.user-words
bin\Debug\tessdata\eeng.word-dawg

И вы используете это для инициализации:

using (var ocr = new tessnet2.Tesseract())
{
    ocr.Init(null, "eng", false);
    ...
}

Теоретически это должно работать.Для меня это сработало - но потом это не произошло внезапно ... хотя я не изменил ничего, что могло бы повлиять на это.

Для меня исправление заключалось в поиске в реестре (используяregedit) и удалите все ссылки на tesseract.Были некоторые подозрительные записи, которые, я думаю, могли быть созданы при установке установщика Tesseract 3.00 (tesseract-ocr-setup-3.00.exe).

Когда я удалил эти записи и перезагрузился (я пытался перезагрузиться до этогоудалив записи reg, FYI), все снова заработало.

Были ли записи реестра причиной проблемы?Кто знает.Но это решило мою проблему.

3 голосов
/ 13 января 2010

Проект + Свойства, вкладка «Отладка», прокрутите вниз, установите флажок «Включить отладку неуправляемого кода». Теперь вы можете установить точку останова и отладить ее.


Если ваша IDE не поддерживает отладку в смешанном режиме, вы можете подключить отладчик, используя методику, описанную в этой записи .

1 голос
/ 30 марта 2011

Моя проблема в том, что я не запускал приложение с правами администратора.

Когда я щелкнул правой кнопкой мыши на «Запуск от имени» и выбрал «Локальный администратор», все заработало.

1 голос
/ 28 февраля 2011

В моем случае ответ от dkr88 сделал свою работу, большое спасибо. Я предполагаю, что некоторая зависимость повреждена, когда tesseract был установлен как автономный ранее. Кроме того, качество распознавания текста лучше, чем при использовании MODI, хотя функция tiltcorrection или последняя работает в более экстремальных условиях (вертикальный текст).

Теперь я очень доволен tessnet2. Есть только один недостаток: мне нужно было изменить свой app.config (как описано в интернете) и добавил следующее:

<startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0"/>
</startup>
1 голос
/ 23 июля 2010

Убедитесь, что ваша папка tessdata (C: \ temp \ tessdata) содержит файлы данных на английском языке. Файлы: eng.DangAmbigs, eng.freq-dawg, eng.inttemp, eng.normproto, eng.pffmtable, eng.unicharset, eng.user-words, eng.word-dawg. загрузить файлы из tesseract downloads. Файл для загрузки - tesseract-2.00.eng.tar.gz.

0 голосов
/ 13 января 2019

В моем случае я установил, что файлы tessdata копируются всегда, и тогда он не зависал в строке инициализации.

0 голосов
/ 24 января 2016

В моем случае я сделал следующие изменения, чтобы заставить его работать:)

  1. Скачивали https://tesseract -ocr.googlecode.com / файлы / тессеракт-2.00.eng.tar.gz
  2. Вставил tessdata папку в мою папку Debug
  3. И сделал следующие изменения кода

ocr.Init("D:\MyApplication\MyApplication\Debug", "eng", false);

до

ocr.Init(null, "eng", false);

...