Для тех, кто пытается использовать сборку 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), все снова заработало.
Были ли записи реестра причиной проблемы?Кто знает.Но это решило мою проблему.