我正在实施 OCR 系统。当我将 dll 文件放在 java 类路径上时,出现以下错误。
Exception in thread "main" java.lang.UnsatisfiedLinkError: G:\software\apache-tomcat-8.0.18-windows-x64\apache-tomcat-8.0.18\bin\win32-x86-64\libtesseract303.dll: Can't find dependent libraries
运行项目后,如果我检查 java 类路径,添加的所有 dll 文件都会消失。我几乎遵循了所有相关的教程tesseract
。但找不到解决办法。有人有想法吗?
1).JDK版本- 1.8(64位)
2).库是64位的
3).所有三个库都放置在库路径中。
4)我按照本教程给出的步骤进行操作here http://tphangout.com/?p=18在本教程中,他们介绍了 32 位库。我使用的是 64 位库。我得到了以下错误java.lang.UnsatisfiedLinkError:无法加载库“libtesseract304”:在资源路径中找不到本机库(win32-x86-64/libtesseract303.dll)([file:/C:/Users/User/Documents/GitHub/Linguist/构建/网络/WEB-INF/类)。
然后我尝试检查是否可以使用 system.load() 加载库。然后我收到以下错误。我的类路径放置在tomcat文件夹中。
线程“main”中的异常java.lang.UnsatisfiedLinkError:G:\ software \ apache-tomcat-8.0.18-windows-x64 \ apache-tomcat-8.0.18 \ bin \ win32-x86-64 \ libtesseract303.dll:可以找不到依赖库
下面是一个小型的工作示例应用程序。从那里您可以开始调查并选择您需要的零件。
假设以下结构和文件
pom.xml
sample.gif
src/main/java/sub/optimal/tess4j/Demo.java
tessdata/eng.traineddata
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>sub.optimal</groupId>
<artifactId>Tess4JDemo</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.shade.version>2.3</maven.shade.version>
</properties>
<dependencies>
<dependency>
<groupId>net.sourceforge.tess4j</groupId>
<artifactId>tess4j</artifactId>
<version>3.0.0</version>
<type>jar</type>
</dependency>
<dependency>
<groupId>org.ghost4j</groupId>
<artifactId>ghost4j</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>${maven.shade.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.4.0</version>
<executions>
<execution>
<goals>
<goal>java</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>sub.optimal.tess4j.Demo</mainClass>
</configuration>
</plugin>
</plugins>
</build>
</project>
样本.gif
src/main/java/sub/optimal/tess4j/Demo.java
package sub.optimal.tess4j;
import java.io.File;
import net.sourceforge.tess4j.Tesseract;
import net.sourceforge.tess4j.TesseractException;
public class Demo {
public static void main(String[] args) {
File imageFile = new File("sample.gif");
Tesseract instance = new Tesseract();
try {
String result = instance.doOCR(imageFile);
System.out.println(result);
} catch (TesseractException e) {
e.printStackTrace(System.err);
}
}
}
tessdata/eng.traineddata
是从下载的https://tesseract-ocr.googlecode.com/files/eng.traineddata.gz https://tesseract-ocr.googlecode.com/files/eng.traineddata.gz(不要忘记解压文件)
运行这个小例子mvn exec:java
产生以下输出
[INFO] --- exec-maven-plugin:1.4.0:java (default-cli) @ Tess4JDemo ---
Hello OCR!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)