Ich verwende rmtheis tess-zwei Abhängigkeiten in meinem Projekt. Habe viele Tutorials gelesen, aber nichts hat mir geholfen.Tesseract TessBaseApi init() Fehler
Ich habe irgendwo lesen Data Path als getFilesDir() + "/ Tesseract /". Diese Methoden-ID funktioniert nicht. Dann habe ich versucht, PATH-> "/ mnt/sdcard/tesstract /"
Meine eng.traineddata befindet sich im Ordner Assets.
Log-Meldung wo Fehler Comes->
com.example.shaur.ocrapp E/Android Runtime: FATAL AUSNAHME: Haupt Prozess: com.example.shaur.ocrapp, PID: 5736 java.lang .RuntimeException: Fehler bei der Übermittlung des Ergebnisses ResultInfo {who = null, request = 4, result = -1, data = Intent { dat = Inhalt: // media/external/images/media/43105 flg = 0x1 launchParam = MultiScreenLaunchParams { mDisplayId = 0 mBaseDisplayId = 0 mFlags = 0} (hat Extras)}} zur Aktivität {com.example.shaur.ocra pp/com.example.shaur.ocrapp.MainActivity}: java.lang.IllegalArgumentException: Der Datenpfad muss einen Unterordner enthalten tessdata! bei android.app.ActivityThread.deliverResults (ActivityThread.java:4520) bei android.app.ActivityThread.handleSendResult (ActivityThread.java:4563) bei android.app.ActivityThread.-wrap22 (ActivityThread.java) bei android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1698) bei android.os.Handler.dispatchMessage (Handler.java:102) bei android.os.Looper.loop (Looper.java:154) bei android.app.ActivityThread.main (ActivityThread.java:6776) bei java.lang.reflect.Method.invoke (native Methode) um com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:1518) bei com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1408) verursacht durch: java.lang. IllegalArgumentException: Der Datenpfad muss Unterordner Tessdata enthalten! bei com.googlecode.tesseract.android.TessBaseAPI.init (TessBaseAPI.java:311) bei com.googlecode.tesseract.android.TessBaseAPI.init (TessBaseAPI.java:284) bei com.example.shaur .ocrapp.MainActivity.onActivityResult (MainActivity.java:73) bei android.app.Activity.dispatchActivityResult (Activity.java:7295) bei android.app.ActivityThread.deliverResults (ActivityThread.java:4516) bei android. app.ActivityThread.handleSendResult (ActivityThread.java:4563) bei android.app.ActivityThread.-wrap22 (ActivityThread.java) bei android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1698) bei android.os.Handler.dispatchMessage (Handler.java:102) bei android.os.Looper.loop (Looper.java:154) bei android.app.ActivityThread.main (ActivityThread.java:6776) bei java.lang.reflect.Method.aufrufen (native Methode) bei com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:1518) bei com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1408)
Log Message sagt deutlich "verursacht durch: java.lang.IllegalArgumentException: Datenpfad muss Unterordner Tessdata enthalten!". Wo soll ich dieses Verzeichnis anlegen? Ist es mein Telefon sdcard, wo ich manuell einen Ordner erstellen und es als Tesseract benennen muss und dort einen Unterordner mit Tessdata mit eng.traineddata hinzufügen.
Wenn es ein anderer Fehler in meinem Code ist tessaract in Bezug auf Sie markieren und der richtige Methode zu berichten.
Links, die ich bisher ausprobiert habe -> http://imperialsoup.com/2016/04/29/simple-ocr-android-app-using-tesseract-tutorial/, https://stackoverflow.com/questions/12877235/ocr-android-application-das-is-using-tesseract –
Die stackoverflow Antwort verwirrt mich, warum der Pfad ist "/ mnt/sdcard/tesseract/tessdata" –