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

21

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 говоря, что была сделана попытка чтения или записи защищенной памяти.

<code>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);
            }
        }
    }
}
</code>

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

не могли бы вы поделиться своей полной реализацией? Я думаю, что читаю противоречивые инструкции о том, как это настроить. Roger
Не могу взять кредит, но это сработало для меня: замените "eng.traineddata" в папке tessdata с этимcode.google.com/p/tesseract-ocr/downloads/… Alex

Ваш Ответ

4   ответа
2

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

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

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

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

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

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

7

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

Похожие вопросы