Tess4J IllegalStateException: Eingang nicht gesetzt

Also ich habe meinen Eclipse und die notwendigen Bibliotheken zu bekommen Tess4J arbeiten, aber es gibt mir eine Fehlermeldung wenn ich den Beispiel code. Das imagefile ist direkt in der root des Arbeitsbereichs, und ich versuchte sogar, Sie zu verschieben und sogar Bearbeiten Sie die Methode direkt auf den Weg. Alles ohne Erfolg. Ich bin ein wenig ratlos, um ehrlich zu sein und Frage mich, ob jemand vielleicht eine Idee wo ich zu suchen.

import java.io.File;
import net.sourceforge.tess4j.*;

public class Main {

    public static void main(String[] args) {
        File imageFile = new File("eurotext.tif");
        Tesseract instance = Tesseract.getInstance();  //JNA Interface Mapping
        //Tesseract1 instance = new Tesseract1(); //JNA Direct Mapping

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

Die Fehler, die ich bekommen hab ist folgende:

Feb 11, 2014 11:05:13 AM net.sourceforge.tess4j.Tesseract doOCR
SEVERE: Input not set!
java.lang.IllegalStateException: Input not set!
    at com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.getNumImages(TIFFImageReader.java:268)
    at net.sourceforge.vietocr.ImageIOHelper.getIIOImageList(Unknown Source)
    at net.sourceforge.tess4j.Tesseract.doOCR(Unknown Source)
    at net.sourceforge.tess4j.Tesseract.doOCR(Unknown Source)
    at Main.main(Main.java:12)

java.lang.IllegalStateException: Input not set!

Vielen Dank im Voraus!

EDIT: kurzes update, da ich versucht habe, um herauszufinden, eine Menge Zeug und versuchen, mehrere Dinge. Zunächst, ich habe herausgefunden, dass der Eingang nicht gesetzt ist, verursacht durch eine falsch platziert .dll Datei. Aber jetzt habe ich einen neuen und viel schwieriger Fehler. Hier ist der neue code (ich habe lediglich Hinzugefügt, println, um zu überprüfen, ob es in der Lage ist, die Datei zu Lesen, bevor es weitergeht in die try-catch).

import java.io.File;
import net.sourceforge.tess4j.*;

public class Main {

    public static void main(String[] args) {
        File imageFile = new File("C:\\Users\\Marouane Boutaib\\Java projects\\Tess4j\\eurotext.tif");
        Tesseract instance = Tesseract.getInstance(); //JNA Interface Mapping
        //Tesseract1 instance = new Tesseract1(); //JNA Direct Mapping
        System.out.println(imageFile.canRead());
        try {
            String result = instance.doOCR(imageFile);
            System.out.println(result);
        } catch (TesseractException e) {
            System.err.println(e.getMessage());
        }
    }
}

Aber, mit dieser Suche ich mir einen neuen Fehler:

true
Exception in thread "main" java.lang.UnsatisfiedLinkError: %1 is not a valid Win32 application.

    at com.sun.jna.Native.open(Native Method)
    at com.sun.jna.Native.open(Native.java:1759)
    at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:260)
    at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:398)
    at com.sun.jna.Library$Handler.<init>(Library.java:147)
    at com.sun.jna.Native.loadLibrary(Native.java:412)
    at com.sun.jna.Native.loadLibrary(Native.java:391)
    at net.sourceforge.tess4j.TessAPI.<clinit>(Unknown Source)
    at net.sourceforge.tess4j.Tesseract.init(Unknown Source)
    at net.sourceforge.tess4j.Tesseract.doOCR(Unknown Source)
    at net.sourceforge.tess4j.Tesseract.doOCR(Unknown Source)
    at net.sourceforge.tess4j.Tesseract.doOCR(Unknown Source)
    at Main.main(Main.java:12)

Meine Kollegen und ich denke, es ist ein fehlender Verweis, aber ich habe den guide befolgt um es einrichten und ich nicht verändern, bei allen aus dem Beispiel-code gegeben durch Tess4J die Entwickler selbst. Obendrein habe ich noch nicht gefunden, ein weiteres Beispiel auf Google, wo dies geschehen ist und gelöst wurde.

  • Sieht aus wie eine Bitanzahl Problem. Was ist deine s/w-Konfiguration?
  • Es gab ein Problem mit der VM, ich machte einen kleinen Fehler in der Einrichtung für 64bit. Es funktioniert anständig, ok jetzt, allerdings hab ich Probleme mit der API/Genauigkeit/etc, aber keine konkreten Fragen noch. Vielen Dank für zumindest die Zeit nehmen, es zu betrachten!
Schreibe einen Kommentar