Помощь с Tessnet2 - PullRequest
       59

Помощь с Tessnet2

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

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

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

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

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

  3. Затем я скачал файл определения языковых данных (из http://code.google.com/p/tesseract-ocr/downloads/list)and поместил его в каталог tessdata.

Файл определения данных находится в том же каталоге, что и exe-файл.

Вот мой код:

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 ]

3 голосов
/ 19 ноября 2010

Установили ли вы Tesseract 3?

Если это так, удалите его и удалите переменную среды с именем tessdata и перезапустите.

0 голосов
/ 01 марта 2013

Если кто-то еще хочет знать, что делать в этом случае:

У меня была такая же проблема, и я мог исправить ее с помощью этой ссылки и передачей каталога tessdata в функции init. (Есть одна в основной функции и две в классе OCR.) Ссылка, упомянутая выше, помогла мне, так как мне пришлось загружать языковые файлы v2.00 вместо последней версии v3.0x ...

С наилучшими пожеланиями

0 голосов
/ 20 октября 2011

Проблема связана с вашим 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-words

eng.word-dawg

0 голосов
/ 31 января 2011

Попробуйте использовать конфигурацию решения отладки в Visual Studio против конфигурации решения Release.Некоторая отладочная информация не включена в конфигурацию выпуска.И так стреляет в жуков.

0 голосов
/ 20 октября 2010

Я думаю, что ошибка в строке ocr.Init, убедитесь, что путь правильный.Также попробуйте передать значение null, так как я помню, ему не нужен путь, потому что вы всегда должны помещать все данные в каталог tessdata в ту же папку, где находится ваш exe-файл.

...