[英]tesseract/tesjeract crashes application upon instantiation
我想在Java中使用tesseract,因为我需要为ImageJ插件执行OCR。 因此,我正在使用Java包装程序“ tesjeract”。 但是,当我实例化new Tesjeract("eng")
ImageJ崩溃而没有提供任何信息。
加载库似乎正在工作,因为当我不实例化new Tesjeract("eng")
并运行两次相同的插件时,第二次我收到UnsatisfiedLinkError: Native library C:\\Windows\\System32\\tessdll.dll already loaded in another classloader
。
有什么想法,我该怎么做才能解决问题?
如果相关,我使用的是Windows 7 64位,但已将ImageJ配置为使用32位JVM,因为tesseract仅作为32位dll提供。 我将dll加载到静态块中,并且它们都放在C:\\ Windows \\ System32文件夹中。
static
{
System.loadLibrary("tessdll");
System.loadLibrary("tesjeract");
}
编辑:
如果发现有人在c ++中遇到类似的问题,并且解决方案是缺少languange文件。 我想这也是我的问题。
这是目录的外观(在此处找到):
project.exe
tessdll.dll
tessdata ----- eng.DangAmbigs
|- eng.freq-dawg
|- eng.inttemp
|- eng.normproto
|- eng.pffmtable
|- eng.unicharset
|- eng.user-words
- eng.word-dawg
ImageJ配置为使用C:\\Program Files(x86)\\Java\\jre7\\bin\\javaw.exe
。 因此,我将包括tessdata文件夹的dll放在了同一目录中,并从System32中删除了这些dll。 尽管如此,应用程序仍然崩溃。
* .traineddata是tess 3.x的语言数据。 您需要2.x版的,例如tesseract-2.00.eng.tar.gz 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.