如何解决我们如何在Linux上运行.net核心c#Tesseract代码
我有以下代码使用Tesseract从图像中提取文本。这段代码是用.Net Core C#开发的,在Windows机器上可以很好地工作,但是在linux服务器上却不能。 我在这里想念什么?我是否需要在Linux服务器上安装Tesseract(apt-get install tesseract),我没有在Windows机器上安装Tesseract,代码直接使用dll,我相信Linux机器也应该使用dll引用来执行代码。
下面是代码:
using (var engine = new TesseractEngine("tessdata_folder","eng",EngineMode.Default))
{
using (var img = Pix.LoadFromFile(image_path))
{
/*
Remaining code goes here
*/
}
}
代码在Linux计算机上的下一行失败,并显示此错误调用目标抛出了异常。 tessdata_folder 中的文件与我用于Windows计算机的文件相同,是否会引起这些问题?如果是,则可以在哪里找到与Linux兼容的tessdata。
使用(变量引擎=新的TesseractEngine(“ tessdata_folder_path”,“ eng”,EngineMode.Default))
下面是错误的完整堆栈跟踪。
at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr,Binder binder,Object[] parameters,CultureInfo culture)
at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr,Object[] args,CultureInfo culture)
at System.Activator.CreateInstance(Type type,BindingFlags bindingAttr,CultureInfo culture,Object[] activationAttributes)
at System.Activator.CreateInstance(Type type,Object[] args)
at InteropDotNet.InteropRuntimeImplementer.CreateInstance[T]()
at Tesseract.Interop.LeptonicaApi.Initialize()
at Tesseract.Interop.TessApi.Initialize()
at Tesseract.Interop.TessApi.get_Native()
at Tesseract.TesseractEngine..ctor(String datapath,String language,EngineMode engineMode,IEnumerable`1 configFiles,IDictionary`2 initialOptions,Boolean setOnlyNonDebugVariables)
at **web_api_controller_name**.OCRImage(String image_path,Int32 page_id,String page_img_path) in ***.cs file_name***:line 606
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。