我已将 tess4j 测试应用程序配置为 http://tess4j.sourceforge.net/tutorial/ .
但是当我运行该项目时,它给出了这个错误:
Exception in thread "main" java.lang.UnsatisfiedLinkError: Can't obtain updateLastError method for class com.sun.jna.Native
at com.sun.jna.Native.initIDs(Native Method)
at com.sun.jna.Native.<clinit>(Native.java:148)
at net.sourceforge.tess4j.util.LoadLibs.getTessAPIInstance(Unknown Source)
at net.sourceforge.tess4j.TessAPI.<clinit>(Unknown Source)
at net.sourceforge.tess4j.Tesseract.init(Unknown Source)
at net.sourceforge.tess4j.Tesseract.doOCR(Unknown Source)
at net.sourceforge.tess4j.Tesseract.doOCR(Unknown Source)
at net.sourceforge.tess4j.Tesseract.doOCR(Unknown Source)
at tstest.Main.main(Main.java:22)
Java Result: 1
我找不到任何与tesseract相关的评论,如果有人做过这个项目,请帮忙。
这是我正在使用的示例代码:
import java.io.*;
import net.sourceforge.tess4j.*;
public class Main {
public static void main(String[] args) {
File imageFile = new File(System.getProperty("user.dir") + "\\images\\1.png");
Tesseract instance = Tesseract.getInstance(); //
try {
String result = instance.doOCR(imageFile);
System.out.println(result);
} catch (TesseractException e) {
System.err.println(e.getMessage());
}
}
}
最佳答案
您使用的是哪个 JNA 版本?你先建好了吗?正如您的链接页面上所解释的。
根据存储库中的登录信息,https://github.com/twall/jna.git
方法 updateLastError(int e)
已于 2013 年 3 月删除(SHA1: d8e8889d )。
要找出 JNA 版本,请执行
java -jar jna.jar
Java Native Access (JNA) API Version 4
Version: 4.2.1 (b0)
Native: 4.0.1 (1a6047467b59e8748f975e03016ce3d9)
Prefix: linux-x86-64
编辑 此处发布了一个完整的简单示例:issue-with-the-libtesseract303-dll-in-netbeans
关于java - 无法构建测试项目(tess4j) tesseract 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36004530/