Tess4j nicht verwenden, es ist tessdata Ordner
Ich bin mit tess4j, den java-wrapper für Tesseract. Ich habe auch die normalen Tesseract installiert. Ich bin mir nicht ganz sicher, wie tess4j gemeint ist, zu arbeiten, aber da kommt es mit einem tessdata Ordner, kann ich davon ausgehen, dass Sie die Sprach-Daten-Dateien dort. Allerdings tess4j funktioniert nur wenn die Sprache der Daten-Dateien sind in der "realen" tessdata-Ordner (der, der kommt mit tesseract, nicht tess4j). Wenn ich entfernen Sie diesen Ordner, bekomme ich diese Fehlermeldung:
Error opening data file C:\Program Files\Tesseract-OCR\tessdata/jpn.trained
data
Please make sure the TESSDATA_PREFIX environment variable is set to the par
ent directory of your "tessdata" directory.
Failed loading language 'jpn'
Tesseract couldn't load any languages!
#
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x631259dc, pid=5108, tid=
10148
#
# JRE version: 7.0_06-b24
# Java VM: Java HotSpot(TM) Client VM (23.2-b09 mixed mode, sharing windows
-x86 )
# Problematic frame:
# C [libtesseract302.dll+0x59dc] STRING::strdup+0x467c
#
# Failed to write core dump. Minidumps are not enabled by default on client
versions of Windows
#
# An error report file with more information is saved as:
# D:\School\Programs\OCRTest\v1.0.0\hs_err_pid5108.log
#
# If you would like to submit a bug report, please visit:
# http://bugreport.sun.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
Bedeutet das ich muss Tesseract installiert mit tess4j? Warum? Oder maby meine tess4j tessdata " - Ordner ist an der falschen Stelle (ist Es derzeit mit meinem .java-Dateien, die tess4j Gläser sind in einem lib-Ordner habe ich einen classpath).
- was passiert, wenn Sie lassen Sie Ihre "TESSDATA_PREFIX environment-variable" Punkt-zu-den tessdata " - Ordner der Ihre Tess4J?
- Naja, das behebt mein problem. Ich muss besser werden verwendet, um Umgebungsvariablen, um diese Probleme zu vermeiden. Eine weitere Fragen: würde alles noch funktionieren, wenn Sie waren ausführen, um das Programm auf einem anderen computer, können Sie nicht den Pfad einstellen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Lassen Sie Ihre
TESSDATA_PREFIX environment variable
Punkt des tessdata " - Ordner der Ihre Tess4j.In der Regel setzen Sie diese variable bei einer installation auf dem system, aber Sie vielleicht eine Lösung finden Sie hier: Wie setze ich die Umgebungsvariablen von Java?
Haben Sie es zu tun auf dem system läuft Ihre app, weil die tessdata
.dll
s abhängen enviroment variable.Für diejenigen, die maven verwenden, und nicht, wie zur Verwendung von globalen Variablen, das funktioniert für mich:
gefunden hier, getestet mit maven -> net.sourceforge.tess4j:tess4j:3.4.1, auch den link verwenden 1.4.1 jar
TESSDATA_PREFIX
- Umgebungsvariablen, falls definiert, sonst alles, auch dass wird voninit
odersetDatapath
; aber das kann sich in Naher Zukunft ändern, wenn eine Anwendung angeben können, wo seinetessdata
Ordner ist.http://code.google.com/p/tesseract-ocr/issues/detail?id=938
https://groups.google.com/forum/#!Thema/tesseract-ocr/bkJwI8WmxSw
Vielleicht haben Sie nicht die
tessdata
Ordner in Ihrem Haupt-Projekt-Ordner.Dieser Ordner hat alle tesseract unterstützten Sprache (es enthält Dateien mit
.traineddata
,.bigrams
,.fold
,.lm
,.nn
,.params
,.size
und.word-freq
Erweiterungen)Wenn Sie es nicht haben, gehen Sie folgendermaßen vor:
tessdata-master.zip
Datei in Ihrem Haupt-Projekt-Ordnertessdata-master
zutessdata