Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#使用tesseract语言_C#_C# 4.0_Ocr_Tesseract - Fatal编程技术网

c#使用tesseract语言

c#使用tesseract语言,c#,c#-4.0,ocr,tesseract,C#,C# 4.0,Ocr,Tesseract,我正在尝试为google的Tesseract OCR引擎使用下载的自定义语言,它有以下文件,但没有traineddata文件,请查看下面的代码,只有当我尝试使用新语言时,才会出现错误,有人可以帮助我 文件: cp27.DangAmbigs cp27.freq dawg cp27.inttemp cp27.normproto cp27.pffmtablecp cp27.unicharset cp27.用户词 cp27.word dawg 下载链接: 错误消息:未能初始化tesseract引擎

我正在尝试为google的Tesseract OCR引擎使用下载的自定义语言,它有以下文件,但没有traineddata文件,请查看下面的代码,只有当我尝试使用新语言时,才会出现错误,有人可以帮助我

文件:
cp27.DangAmbigs
cp27.freq dawg
cp27.inttemp
cp27.normproto
cp27.pffmtablecp
cp27.unicharset
cp27.用户词
cp27.word dawg


下载链接:

错误消息:未能初始化tesseract引擎


Pix test = PixConverter.ToPix(image);

try
{
    using (var engine = new TesseractEngine(@"tessdata", @"cp27", EngineMode.Default))
    {
        engine.SetVariable("tessedit_char_whitelist", charset);

        using (var page = engine.Process(test))
        {
            return(page.GetText());
        }
    }
}
catch { }

您需要运行Tesseract
combine\u tessdata
命令将文件合并到
cp27.traineddata
文件中


要创建lang.traineddata,请在当前目录中使用命令

如果存在一个tesseract实例,并且您希望将tesseract作为服务调用(一次调用多个请求)或作为并行调用,则会发生跟随异常。使用时在包装器中:

tesseract::TessBaseApi *api
您应该为api分配内存(新),因此请使用:

api new tesseract::TessBaseApi()
我测试了它,工作正常

在Tesseract.dll中发生System.AccessViolationException“” 信息:试图读取或写入受保护的内存。这是 通常表示其他内存已损坏。”


为什么不发布错误?抱歉,我忘了添加错误消息。错误消息:未能初始化tesseract引擎。这是整个堆栈跟踪?这是我得到的错误消息,如果我将cp27更改为eng,一切正常,但我想使用新语言我已上载文件,如果有人可以查看,谢谢。谢谢信息,我已将这些文件合并到cp27.traineddata中,现在它会显示另一条错误消息。“Tesseract.dll中发生了类型为“System.AccessViolationException”的未处理异常。其他信息:尝试读取或写入受保护内存。这通常表示其他内存已损坏。“可能是文件生成不正确。是否严格遵守了所有步骤?我下载了tesseract-ocr-3.02-win32-portable.zip,然后将所有8个文件复制到tessdata文件夹中,并从cmd输入combine_tessdata tessdata\cp27。它创建了一个名为cp27.traineddata的文件这是cmd的输出。组合TesserData文件,TesserDataManager组合tesseract数据文件,类型0的偏移量为-1,类型1的偏移量为140,类型2的偏移量为-1,类型3的偏移量为353,类型4的偏移量为359683,类型5的偏移量为359894,类型6的偏移量为-1,类型7的偏移量为406758,类型8的偏移量为-1,类型9的偏移量为406770,第10类的偏移量为-1,第11类的偏移量为-1,第12类的偏移量为-1,第13类的偏移量为-1,第14类的偏移量为-1,第15类的偏移量为-1,第16类的偏移量为-1我重新阅读了您的原始帖子,并意识到您的lang数据文件的版本是Tesseract 2.0x,而不是3.0x。因此,您将需要Tesseract 2.0x的.NET包装器。trainnedata适用于Tesseract 3.0x版本。