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

我在让Tesseract在Visual Studio 2010项目中工作时遇到问题。我已经尝试过控制台和Winforms,并且两者都具有相同的结果。我遇到了一个其他人声称自己在VS2010中工作的dll:

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

我要添加对该dll的引用,该引用可以从上述网站的附件中张贴到post 64。每次构建项目时,我都会收到一个AccessViolationException,上面写着试图读取或写入 protected 内存。

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文件夹位置以斜杠结尾,但无济于事。有任何想法吗?

最佳答案

似乎是引起问题的tessdata文件夹的内容。从第一个链接获取了tessdata文件夹,现在所有文件都可以使用了。

10-08 19:53