# Vektorisieren und Objekterkennung



## bounci (5. Jan 2009)

Hallo zusammen,

ich habe vor ein Programm zu schreiben, mit dem ich Bilder vektorisieren kann. Also da kommt natürlich noch mehr dann, was man mit den Bildern machen kann.
Ich habe viel C# programmiert, aber Java ist für mich relativ neu. Ich hab auch schon ewig gesucht und nicht wirklich was gefunden. Kann mir jemand eine Bibliothek nennen, die ich benutzen kann um Bilder zu vektorisieren? Oder gibt es sowas gar nicht?

Und meine zweite Frage dazu wäre dann, ob es nicht auch eine Library gibt, die frei ist und schon einen gewissen Teil OCR bietet. Also www.asprise.com ist schon toll, aber das Geld wollte ich für den Anfang nicht ausgeben. Gibt es da nicht noch was anderes?
Alles was ich da vor allem noch gesehen habe war das hier GOCR - open-source character recognition, aber bin mir nicht sicher wie gut das ist. Hat da irgendeiner eine Meinung zu?

Wäre total nett, wenn sich schonmal jemand damit beschäftigt hat und mir vielleicht weiterhelfen kann.
lg
Adriane


----------



## bounci (11. Jan 2009)

Hallo nochmal,

bin ich hier irgendwie in der falschen Kategorie?
Ich dachte: "Die Java-Community, in der einem garantiert geholfen wird."

Ich finde es schade, wenn man diese Art Slogans hat und sich nicht daran hält, dann schreibt doch sowas nicht, dann ist man auch nicht so enttäuscht. Sagt mir wenigstens, ob ich es in der falschen Kategorie eingetragen habe, oder ob einfach keiner hier was zu dem Thema weiß...
dankeschön

Viele Grüße


----------



## SlaterB (11. Jan 2009)

wer auf solche Slogans vertraut muss ja täglich enttäuscht wenn nicht gar reingelegt werden, 
da ist einmal mehr auch nicht schlimmer 

auf sowas sollte nur jemand zählen, der gerade versucht ein Helle World-Programm zu installieren 
oder sich fragt, wie man eine ArrayList sortiert,

denn sowas wird hier tatsächlich ganz schön oft und schnell beantwortet,
das wissen 999 von 1000 etwas erfahrenen Programmiern

stufenweise werden die Fragen immer schwieriger und auch aufwendiger, 
die Zahl der möglichen Antworter mit Wissen und Zeit nimmt entsprechend ab

das Thema deiner Frage kennt gewiss nur jeder 1000. Java-Programmierer etwas tiefer,
davon mal einen finden der auch noch hier vorbeikommt und Lust hat zu antworten..


----------



## bounci (11. Jan 2009)

Ja, danke für die Antwort.

Ich verstehe ja auch was du meinst.
Eine Antwort wie... "schau doch mal besser in das Forum XXX die beschäftigen sich eher mit sowas" oder "sowas machen wir hier gar nicht"... oder so wäre ja auch noch machbar 

Und diese Moral, die leider wirklich verbreitet ist, dass man lügt weil alle anderen lügen und es darum nicht schlimm ist und man nicht enttäuscht sein sollte, weil man eh immer enttäuscht wird möchte ich irgendwie nicht wirklich annehmen. Ich hoffe einfach mal, dass man irgendwann mit Ehrlichkeit wieder weiter kommt.

Ich verstehe aber, dass dies ein spezielles Themengebiet ist und Bildverarbeitung vielleicht nicht die Regel ist. 

Also falls doch noch jemand was weiß, ich wäre sehr dankbar!
viele Grüße


----------



## Marco13 (11. Jan 2009)

Klingt nach dem Potential für eine Klage gegen Toyota :meld: ("Nichts ist unmööööglich...*" )

Eine fertige Bibliothek kenne ich auch nicht. Ein Ansatz wäre vielleicht, zu versuchen, sich sowas aus (möglichst großen) "Building Blocks" zusammenzubauen - also eine Kantenerkennung zu machen wie z.B. auf http://java.sun.com/j2se/1.3/docs/guide/2d/spec/j2d-image.fm8.html beschrieben, und da dann eine HoughTransform http://vase.essex.ac.uk/software/HoughTransform/HoughTransform.java.html drüberlaufen zu lassen. Bis zu einer OCR ist es dann immernoch ein ganzes Stück hin, aber ... man muss sich damit abfinden, dass nicht alles umsonst ist, und man manchmal vor der Wahl steht, entweder selbst zu entwickeln oder eine Fertiglösung wie das von asprise.com zu verwenden (vielleicht reicht dir da ja auch die Trial-Version?)

*Außer einem ebenen Dreieck mit einer Winkelsumme != 180° ... und noch ein paar andere Sachen.... :wink:


----------



## Soulfly (11. Jan 2009)

Ist bei mir schon wenig her aber hier mal ein wenig Theorie:

Der genaue Algorithmus ist mir nicht bekannt aber es wird generell folgendermaßen gemacht:

1. Erstelle aus einer Grafik per Histogrammfilterung ein Äquisidienbild (sollte klar sein .. sonst wiki!!). Parametrisierbar durch die granularität des Filters.

2. Algorithmus zur Bereichsanalyse, die die einzelnen Farbflächen erkennt und um die Grenzen der Flächen einen Polygonzug legt.

3. Polygonzüge in ein Vektorenformat schreiben

4. Fertig!

Du siehst, dass das nicht so leicht ist. Und das was hier gemacht wird ist viel spezielle Materie aus der Bildbearbeitung und der Mathematik (was auch sonst!).

Meine Google suchen bringt nur Bildprogramme zum Vorschein die das können. Aber von einem OpenSource Programm/Library weiß ich leider nicht.

ABER! wenn du dir die einzelnen Algorithmen anschaust, verstehst und dann implementierst wirst du auch glücklich.

MfG
Soulfly


----------



## bounci (11. Jan 2009)

Dankeschön für die Anregungen!
Ich werd dann mal in die Richtung weiterschauen!

@Marco13: jaja, ich weiß  aber ist es nicht wirklich einfach schade, dass sowas einfach gar nichts mehr heißt...

Vielen Dank nochmal!


----------

