3

我开始使用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 项目库中添加了 aspriseOCR.jar 文件

我还将 AspriseOCR.dll 文件添加为 C:。\ WINDOWS \ system32 但没有任何反应..谢谢你帮助我

4

1 回答 1

2

看来您使用的是版本 4。

要修复您的错误:

  1. 下载 Asprise OCR SDK Library API for Java的更新版本(版本 5)

  2. 将单个 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。

于 2015-03-17T02:06:10.227 回答