我开始使用Asprise Java技术。 我想使用一种将图像转换为文本(OCR)的方法。
import com.asprise.util.ocr.OCR;
public class Test {
public static void main(String[] args) throws IOException {
BufferedImage image = ImageIO.read(new File("D:\\HEAD2.png"));
String s = new OCR().recognizeEverything(image);
// prints the results.
System.out.println("RESULTS: \n"+ s);
}
}
但我发现了这些错误
Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\WINDOWS\system32\AspriseOCR.dll: Can't find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at com.asprise.util.ocr.OCR.loadLibrary(OCR.java:247)
at com.asprise.util.ocr.OCR.<init>(OCR.java:56)
我下载文件Asprise OCR-Java-4.0 Windows_XP_32bit
我在我的eclipse项目librairy
中添加了aspriseOCR.jar文件我还将AspriseOCR.dll文件添加为C:。 \ WINDOWS \ system32但没有任何反应..谢谢你帮助我
答案 0 :(得分:1)
您似乎使用的是版本4.
修复错误:
下载Asprise的新版本(第5版)OCR SDK Library API for Java
将单个jar文件aocr.jar添加到类路径中。
那就是它。
我已将您帖子中的代码升级到此新版本:
import com.asprise.ocr.Ocr
...
public class Test {
public static void main(String[] args) throws IOException {
Ocr.setUp(); // one time setup
Ocr ocr = new Ocr(); // create a new OCR engine
ocr.startEngine("eng", Ocr.SPEED_FASTEST); // English
String s = ocr.recognize(new File[] {new File("D:\\HEAD2.png")},
Ocr.RECOGNIZE_TYPE_ALL, Ocr.OUTPUT_FORMAT_PLAINTEXT);
System.out.println("Result: " + s);
ocr.stopEngine();
}
}
此新版本中没有依赖DLL。