Tesseract 3(OCR) – .NET Wrapper
https://code.google.com/p/tesseractdotnet/
我在使用Tesseract在Visual Studio 2010项目中工作时遇到问题。 我尝试过控制台和winforms,两者都有相同的结果。 我曾经遇到过其他声称让它在VS2010
工作的人遇到的dll:
https://code.google.com/p/tesseractdotnet/issues/detail?id=1
我正在添加对dll的引用,可以在上面的网站附件64中找到。 每次我构建我的项目时,我都会收到一个AccessViolationException
,表示尝试读取或写入受保护的内存。
public void StartOCR() { const string language = "eng"; const string TessractData = @"C:UsersJoeDesktoptessdata"; 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); } } } }
访问冲突exception总是指向if (processor.Init(TessractData, language, (int)eOcrEngineMode.OEM_DEFAULT))
。 我已经看到一些建议,以确保解决方案平台在配置管理器中设置为x86
,并且tessdata文件夹位置以尾随斜杠结束,但无济于事。 有任何想法吗?
它似乎是导致问题的tessdata文件夹的内容。 从第一个链接获取tessdata文件夹,现在全部正在运行。
我刚刚完成了一个带有tesseract引擎3的项目。我认为,引擎中存在一个错误,需要纠正。 我删除“AccessViolationError”的做法是,将“ tessdata”添加到真正的tessdata目录字符串中。 我不知道为什么,但引擎似乎截断了Tessdata路径中最里面的目录。
刚刚制作完整的OCR包(Dlls + Tessdata(英文)),与.net框架4一起使用。
如果有人有相同的问题,并且尾随斜杠的建议不起作用,请尝试…两个结束斜杠! Seriosly。 这个对我有用。
if (processor.Init(@".tessdata\", "eng", (int)eOcrEngineMode.OEM_DEFAULT))
似乎你的问题与这里提到的稳定性问题有关。 在官方网站上 ,建议使用之前的稳定版本2.4.1。 您可以通过package manager命令从nuget.org安装它: Install-Package Tesseract -Version 2.4.1
上述就是C#学习教程:Tesseract 3(OCR) – .NET Wrapper分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1004476.html