【发布时间】:2019-02-26 14:32:10
【问题描述】:
我已经为 OCR 创建了一个项目
TessBaseAPI instance = new TessBaseAPI();
instance.Init("C:\\TIAA Info\\tessdata","eng");
PIX image = lept.pixRead("C:\\TIAA Info\\tessdata\\test.png");
instance.SetImage(image);
BytePointer bytePointer = instance.GetUTF8Text();
String output = bytePointer.getString();
System.out.println(output);
执行后出现以下错误
Exception in thread "main" java.lang.UnsatisfiedLinkError: no jnilept in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1864)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:1302)
at org.bytedeco.javacpp.Loader.load(Loader.java:1043)
at org.bytedeco.javacpp.Loader.load(Loader.java:935)
at org.bytedeco.javacpp.lept.<clinit>(lept.java:10)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at org.bytedeco.javacpp.Loader.load(Loader.java:994)
at org.bytedeco.javacpp.Loader.load(Loader.java:935)
at org.bytedeco.javacpp.tesseract$TessBaseAPI.<clinit>(tesseract.java:3682)
at imageTestProj.ReadDataFromImage.main(ReadDataFromImage.java:19)
Caused by: java.lang.UnsatisfiedLinkError: no liblept in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1864)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:1302)
at org.bytedeco.javacpp.Loader.load(Loader.java:1021)
... 8 more
我用过以下罐子
- /lib/javacpp-1.4.4.jar
- /lib/leptonica-1.77.0-1.4.4.jar
- /lib/tesseract-4.0.0-1.4.4.jar
【问题讨论】:
-
lept在哪里以及如何定义? -
我已经完成了链接中提到的步骤,但它对我不起作用
-
@Lino lept 是 javacpp 提供的类,它有一个静态的本地方法 pixRead。
-
您还需要包含名称中带有“linux”、“macosx”和“windows”的 JAR 文件。
标签: java