2016-04-22 14 views
0

Ich habe gerade angefangen zu versuchen, einen einfachen Java-Code zu schreiben, um einige einfache OCR zu tun, mit dem Code und Beratung gefunden here.Java OCR Programm mit tesseract in Windows

Ich habe Bibliotheken installiert, und das Projekt in der IDE (NetBeans) sieht aus wie das Bild, das ich angehängt habe.

ich diese Fehler bekommen:

10: 47: 30,099 [main] WARN net.sourceforge.tess4j.util.LoadLibs - Quelle ‚C: \ Benutzer \ Simon% 20Bothner \ Dokumente \ NetBeansProjects \ OCRTest \ build \ classes \ win32-x86-64' existiert nicht

java.io.FileNotFoundException: Quelle ‚C: \ Benutzer \ Simon% 20Bothner \ Dokumente \ NetBeansProjects \ OCRTest \ bauen \ Classes \ win32-x86- 64' ist nicht vorhanden

at org.apache.commons.io.FileUtils.copyFile(FileUtils.java:1074) 
at org.apache.commons.io.FileUtils.copyFile(FileUtils.java:1038) 
at net.sourceforge.tess4j.util.LoadLibs.copyResources(LoadLibs.java:138) 
at net.sourceforge.tess4j.util.LoadLibs.extractTessResources(LoadLibs.java:105) 
at net.sourceforge.tess4j.util.LoadLibs.<clinit>(LoadLibs.java:59) 
at net.sourceforge.tess4j.TessAPI.<clinit>(TessAPI.java:42) 
at net.sourceforge.tess4j.Tesseract.init(Tesseract.java:367) 
at net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:280) 
at net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:212) 
at net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:196) 
at Main.main(Main.java:15) 

Exception in thread "main" java.lang.Uns atisfiedLinkError: Das angegebene Modul konnte nicht gefunden werden.

at com.sun.jna.Native.open(Native Method) 
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:263) 
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:403) 
at com.sun.jna.Library$Handler.<init>(Library.java:147) 
at com.sun.jna.Native.loadLibrary(Native.java:502) 
at com.sun.jna.Native.loadLibrary(Native.java:481) 
at net.sourceforge.tess4j.util.LoadLibs.getTessAPIInstance(LoadLibs.java:77) 
at net.sourceforge.tess4j.TessAPI.<clinit>(TessAPI.java:42) 
at net.sourceforge.tess4j.Tesseract.init(Tesseract.java:367) 
at net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:280) 
at net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:212) 
at net.sourceforge.tess4j.Tesseract.doOCR(Tesseract.java:196) 
at Main.main(Main.java:15) 

C: \ Benutzer \ Simon Bothner \ AppData \ Local \ NetBeans \ Cache \ 8.1 \ Exekutor-Schnipsel \ run.xml: 53: Java zurückgegeben: 1 BUILD FAILED (Gesamtzeit: 0 Sekunden)

ich versuchte this Tutorial zu verwenden, aber ich schien eine DLL zu fehlen, die liblept168.dll ...

jemand mir dabei helfen? Ich bin ziemlich neu in diesem und kann nicht scheinen, um dies zur Arbeit zu bringen ...

Vielen Dank! :)

+0

Vielleicht könnte diese Antwort helfen, das Problem zu lokalisieren: http://stackoverflow.com/questions/35547211/issue-with-the-libtesseract303-dll-in-netbeans#35553331 – SubOptimal

+0

Tess4J Tutorial-Seite enthält NetBeans Beispiel: http: //tess4j.sourceforge.net/tutorial/ – nguyenq

+0

Überprüft die Antwort, wird versuchen, es zur Arbeit zu bringen, danke! :) Nach dem Tutorial versucht, konnte aber nicht zur Arbeit: / – Simon

Antwort

0

Schritt 1: http://tphangout.com/how-to-use-the-tesseract-api-to-perform-ocr-in-your-java-code/
Öffnen Sie den obigen Link und sehen Sie, wie Sie Tesseract in Java richtig installieren.

Schritt 2: Nach dem Lesen, wenn Sie immer noch den Fehler wie "Bibliothek nicht geöffnet" erhalten, laden Sie Microsoft Visual Studio> 12.0 herunter und aktualisieren Sie auch Ihre JDK-Version (ich bekomme auch den gleichen Fehler).

Schritt 3:

public class tesserct 
{ 
    public static void main(String[] args) 
    { 
     //System.setProperty("jna.library.path", "64".equals(System.getProperty("sun.arch.data.model")) ? "lib/win32-x86" : "lib/win32-x86-64"); 

     System.setProperty("jna.library.path", "32".equals(System.getProperty("sun.arch.data.model")) ? "lib/win32-x86" : "lib/win32-x86-64"); 

     File imageFile = new File("F:\\Wallpaper & photo\\wallpaper\\holi wollpepar\\happy-holi-2013-hd-wallpaper1.jpg"); 
     ITesseract instance = new Tesseract(); // JNA Interface Mapping 
     // ITesseract instance = new Tesseract1(); // JNA Direct Mapping 
     File tessDataFolder = LoadLibs.extractTessResources("tessdata"); // Maven build bundles English data 
     instance.setDatapath(tessDataFolder.getParent()); 

     try { 
      String result = instance.doOCR(imageFile); 
      System.out.println(result); 
     } catch (TesseractException e) { 
      System.err.println(e.getMessage()); 
     } 
    } 

den Code oben auf der NetBeans ausführen, und versuchen Sie es.