Помощь с Tessnet2

Мне нужен совет. Я пытаюсь использовать Tessnet2 lib для распознавания текста изображения.

Изображение состоит из пяти символов (символы и цифры).

  1. Я скачал lib с http://www.pixel-technology.com/freeware/tessnet2/.

  2. Добавить ссылку на эту библиотеку в моем проекте.

  3. Затем я скачал файл определения языковых данных (с 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

Другие вопросы по тегам