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