# Java OCR



## lumo (4. Jul 2012)

Hallo leute,

ich muss/darf mich zur zeit mit OCR befassen,
da ich kurze sätze und zahlen erkennen muss;

ich hatte diese lib im auge:
Java OCR | Free software downloads at SourceForge.net

ich habe bis jetzt das vorbereiten der bilder fast abgeschlossen,
(habe leider nur sehr niedrig aufgelöste bilder)
konnte die qualität allerdings recht gut halten -> unschöne hintergründe sind weg und der text/zahlen sind gut erkennbar schwarz auf weiss.

nun kann ich in dem beispiel jedoch nichts finden, wo er den bild-character in einen richtigen char ausgibt...

mit einzelnen buchstaben (in form von bildern) kann ich nichts anfangen... leider.

weiss einer von euch wie das klappt (oder eine andere lib, die mit niedrigen auflösungen 10px hohe schrift)

die schrift ist eigentlich immer die selbe, allerdings sieht nicht jeder buchstabe gleich aus, da, wie gesagt der hintergrund wegretuschiert werden musste und antialiasing in kombination mit buntem hintergrund leider nix besseres zulässt... (denk ich leider...)

alternativer gedanke war... eine rastermap aller buchstaben zu erstellen und dann sehen wieviel % darauf zutreffen...

nun... was sagt ihr dazu?


----------



## Landei (4. Jul 2012)

Für JDownloader gibt es ein Anti-Capcha-Modul, womit ich demnächst rumspielen will. Das sollte eigentlich das Herausfischen der Buchstaben trotz Hintergrund beherrschen. Sourcen gibt es hier: jdownloader-service - JDownloader Service is a branch from the JDownloader source that aims to implement a neat XML/RPC API and a headless JDownloader service/server - Google Project Hosting


----------



## lumo (5. Jul 2012)

an das hab ich auch schon gedacht, aber ich bekomms nicht hin den captcha code vom anderen code zu trennen (die packages sind ganz nett ineinander verflochten...


----------



## Landei (6. Jul 2012)

Ich hoffe, dass ich nächste Woche dazu komme, mal etwas genauer reinzuschauen.


----------



## lumo (8. Jul 2012)

lass mich wissen, wenn du was rausfindest / zum laufen bekommst;
würde mich interessieren & hilfe würde mich freuen


----------



## Landei (9. Jul 2012)

Ich habe GOCR zum Laufen gebracht. Die Frage ist, wie nützlich es ist: Es ist C++ und unterstützt nur merkwürdige Bild-Formate (*.pnm - WTF?!?). Außerdem scheint jedes Fitzel von einem Bild die Engine völlig aus dem Tritt zu bringen.


----------



## lumo (9. Jul 2012)

Ich hab java ocr, aprise ocr und tesseract (java wrapper) versucht

KEINES hat brauchbare ergebnisse für bilder (screenshots) gebracht, da alle mit auflösungen 200dpi plus arbeiten ausgelegt sind... LEIDER

Tesseract hat zumindest 4von6 buchstaben erkannt... Aber auch nicht gerade was überragendes ;-)


----------



## Landei (10. Jul 2012)

Ich habe nach "text detection" gesucht, und fand das hier ganz interessant: https://sites.google.com/site/roboticssaurav/strokewidthnokia (Code und Paper hängen dran)

Leider C++, aber die Beispiel-Bilder sehen schon mal gut aus.


----------



## lumo (10. Jul 2012)

Ich werd mir das morgen mal ansehen... 3mb souce sind ganz nett viel!
Wäre das weniger wäre ein port in java machbar; aber alleine ist das overkill für mich, fürchte ich (auch wenn der ansatz gut aussieht) 
Ev über jni nutzbar aber höchst wahrsch nicht mehr realtime fähig, dazunmüsste das sicher in java geschrieben sein hm?

SWT ist in dem zusammenhang leider nicht java swt - lol


----------



## lumo (10. Jul 2012)

so war neugierig und hab mir den source jetzt schon geholt...

~340 KB sourcecode in 27 files(da sind welche doppelt fürs handy oder pc), im rar waren compilierte dinge auch drin
header hab ich mal weggelassen (entsprechen meines wissens interfaces in java - c/c++ ist bei mir schon länger her ;-) )

wie siehts da bei dir aus?

erster einblick:rtfm:: -> inkludiert
Boost (sammlung von libs)
openCV (nicht wirklich in java implementiert auch nicht in der version JavaCV, header für android und JNI gibts...)

sieht auf den ersten blick mal recht komplex aus (wahrsch weil ich cpp nicht mehr lesen kann *sfg*)


----------



## lumo (24. Jul 2012)

Hast du dir schon was angeschaut?
Ich hab zwischenzeitlich mein eigenes (sehr vereingachtes) ocr geschrieben...
-> Funktioniert nur bei genau meinem problem, da jedoch 100% verlässlich


----------



## Landei (25. Jul 2012)

Nö, bin noch nicht weiter. Habe mit OpenCV (und Wrapper) angeschaut, aber irgendwie nicht zum Laufen gebracht.


----------

