Помощь с Tessnet2
Мне нужен совет. Я пытаюсь использовать Tessnet2 lib для распознавания текста изображения.
Изображение состоит из пяти символов (символы и цифры).
Я скачал lib с http://www.pixel-technology.com/freeware/tessnet2/.
Добавить ссылку на эту библиотеку в моем проекте.
Затем я скачал файл определения языковых данных (с http://code.google.com/p/tesseract-ocr/downloads/list%29and поместил его в каталог tessdata.
Файл определения данных находится в том же каталоге, что и исполняемый файл.
Вот мой код:
try
{ //download image from server
System.Net.WebRequest request =
System.Net.WebRequest.Create(
textBox1.Text);
System.Net.WebResponse response = request.GetResponse();
System.IO.Stream responseStream =
response.GetResponseStream();
Bitmap image = new Bitmap(responseStream);
pictureBox1.Image =image;
tessnet2.Tesseract ocr = new tessnet2.Tesseract();
ocr.SetVariable("tessedit_char_whitelist", "0123456789");
ocr.Init(@"C:\Users\Tan\Documents\Visual Studio 2010\Projects\TestProject\bin\Release", "eng", false); // To use correct tessdata
List<tessnet2.Word> result = ocr.DoOCR(image, Rectangle.Empty);
foreach (tessnet2.Word word in result)
{
richTextBox1.Text = string.Format("{0} : {1}", word.Confidence, word.Text);
}
}
catch (System.Net.WebException)
{
MessageBox.Show("There was an error opening the image file."
+ "Check the URL");
}
Проблема в том, что если я вызываю этот код, приложение закрывается. Я ничего не получаю сообщение об ошибке. Я не знаю почему. Кто-нибудь может мне помочь? Спасибо.
5 ответов
Вы установили Tesseract 3?
Если это так, удалите его и удалите переменную среды с именем tessdata и перезапустите.
Если кто-то все еще хочет знать, что делать в этом случае:
У меня была та же проблема, и я мог исправить ее с помощью этой ссылки и передачи директории tessdata в функции init. (В основной функции есть одна, а в классе OCR - две.) Упомянутая выше ссылка помогла мне, так как мне пришлось загружать языковые файлы v2.00 вместо последней версии v3.0x ...
С наилучшими пожеланиями
Попробуйте использовать конфигурацию решения Debug в Visual Studio против конфигурации решения Release. Некоторая отладочная информация не включена в конфигурацию выпуска. И так стреляет в жуков.
Я думаю, что ошибка в строке ocr.Init, убедитесь, что путь правильный. Также попробуйте передать значение null, так как я помню, ему не нужен путь, потому что вы всегда должны помещать все данные в каталог tessdata в ту же папку, в которой находится ваш exe-файл.
Проблема заключается в вашем ocr.Init(). Убедитесь, что каталог "C:\Users\Tan\Documents\Visual Studio 2010\Projects\TestProject\bin\Release" содержит необходимые файлы:
eng.DangAmbigs
eng.freq-Dawg
eng.inttemp
eng.normproto
eng.pffmtable
eng.unicharset
eng.user-слова
eng.word-Dawg