21

Вопрос по visual-studio-2010, c# – Тессеракт 3 (OCR) - .NET Wrapper

http://code.google.com/p/tesseractdotnet/

У меня проблема с тем, чтобы заставить Tesseract работать в моих проектах Visual Studio 2010. Я попробовал утешить и winforms и оба имеют тот же результат. Я столкнулся с DLL кем-то еще, кто утверждает, что он работает вVS2010:

http://code.google.com/p/tesseractdotnet/issues/detail?id=1

Я добавляю ссылку на dll, которую можно найти в приложении к посту 64 с сайта выше. Каждый раз, когда я строю свой проект, я получаюAccessViolationException говоря, что была сделана попытка чтения или записи защищенной памяти.

public void StartOCR()
{
    const string language = "eng";
    const string TessractData = @"C:\Users\Joe\Desktop\tessdata\";

    using (TesseractProcessor processor = new TesseractProcessor())
    {
        using (Bitmap bmp = Bitmap.FromFile(fileName) as Bitmap)
        {
            if (processor.Init(TessractData, language, (int)eOcrEngineMode.OEM_DEFAULT))
            {
                string text = processor.Recognize(bmp);
            }
        }
    }
}

Исключение нарушения доступа всегда указывает наif (processor.Init(TessractData, language, (int)eOcrEngineMode.OEM_DEFAULT)), Я видел несколько предложений, чтобы убедиться, что платформа решения настроена наx86 в диспетчере конфигурации и что расположение папки tessdata заканчивается косой чертой, безрезультатно. Есть идеи?

  • Правда! Папка находится в «e: \ tessdata», а определение переменнойconst string tessractData = @"e:\tessdata\tessdata";

    от
  • Не могу взять кредит, но это сработало для меня: замените "eng.traineddata" в папке tessdata с этимcode.google.com/p/tesseract-ocr/downloads/…

    от Alex
  • не могли бы вы поделиться своей полной реализацией? Я думаю, что читаю противоречивые инструкции о том, как это настроить.

    от Roger
  • 0

    Кажется, ваша проблема связана с упомянутой проблемой стабильности

    Вот, На официальномсайт есть рекомендация использовать предыдущую стабильную версию 2.4.1. Вы можете установить его с nuget.org с помощью команды менеджера пакетов:Install-Package Tesseract -Version 2.4.1

  • 2

    Я только что закончил проект с тессерактом 3. Я думаю

    в двигателе есть ошибка, которую нужно исправить. Что я сделал, чтобы удалить & quot; AccessViolationError & quot; есть, добавить & quot; \ tessdata & quot; к реальной строке каталога tessdata. Я не знаю почему, но движок, похоже, усекает самый внутренний каталог в пути Tessdata.

    Только что сделал полный пакет OCR (Dlls + Tessdata (англ.)), Который работает с .net framework 4.

  • 7

    Похоже

    это было содержимое папки tessdata, которая вызывала проблему. Получил папку tessdata по первой ссылке и все теперь работает.

  • 0

    Если у кого-то есть такая же проблема

    и совет с завершающим слешем не работает, попробуйте ... два завершающих слеша! Видит в ней ничего. Меня устраивает.

    if (processor.Init(@".\tessdata\\", "eng", (int)eOcrEngineMode.OEM_DEFAULT))