繁体   English   中英

tesseract / tesjeract在实例化时使应用程序崩溃

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM