# Bildinformationan auslesen - OCR - Zahlen erkennen



## Guest (3. Mrz 2008)

Hallo,

ich bin neu hier und auch noch blutiger Anfänger was die Java-Programmierung angeht. Ich habe nun bei der Programmierung einers Programmes ein Problem. Habe auch schon gesucht und gegoogelt ... aber bis jetzt nichts hilfreiches gefunden. Vielleicht könnt Ihr mir ja helfen. So, nun aber zum Problem:

Ich würde gerne einen Bot bauen, der z.B. Hearts, Solitaire, etc. spielen kann. Da ich keine Schnittstellen zu diesen Progerammen habe, möchte ich anhand von Bildinformationen (von einem Bild, einem Desktop, einem Programm) die nötigen Werte bekommen, um darauf reagieren zu können.

Es gibt dafür im Java z.B. die Robot Klasse, mit der ich Screenshots machen kann oder mir die Farbe von bestimmten Pixeln ausgeben lassen kann. Über diese Methoden wäre es evtl. möglich mir mühsam die einzelnen Zahlen und Buchstaben zusammen zu rechnen. Das dürfte aber sehr umständlich und schwierig zu realisieren sein.

Kennt einer von Euch evtl. andere Möglichkeiten Informationen aus Bildern zu bekommen? Vielleicht ist es mit OCR-Software möglich, nur bräuchte ich zu diesen Programmen dann ja auch wieder eine Schnittstellen, um die passenden Infos auslesen zu können.

Über Hilfen, Links etc. würde ich mich sehr freuen. Danke schon einmal im Voraus!


----------



## maki (3. Mrz 2008)

Hast dir ja eine "simple" Aufgabe als Anfänger ausgesucht.

Mein Tipp: Versuche es zuerst mit ein paar "Hello World" Beispielen, dann, in 2-4 Jahren, kannst du diese Aufgabe hier vielleicht angehen.


----------



## Nordevil (3. Mrz 2008)

Hallo maki,

danke für die schnelle Antwort, aber die bringt mich nicht wirklich weiter (nicht für Ungut).

Dass die Aufgabe nicht ganz leicht ist, weiß ich auch ... aber wie heißt es so schön: "Man wächst mit seinen Aufgaben".

Ich habe mir das als Ziel gesetzt und möchte das auch nach und nach umsetzen. Es darf auch ruhig länger dauern.

Vielleicht gibt es ja noch andere Hilfen und Einfälle.

Ich bin übrigens der Autor des Beitrags. Ich hatte mich eben nur nicht eingeloggt.


----------



## maki (3. Mrz 2008)

> nicht für Ungut


Natürlich nciht, hoffe du hast mich auch nicht missverstanden.

Natürlich wächst man mit seinen Aufgaben, aber mal schnell 5-6 Stufen auf der Evolutionsleiter überspringen zu wollen ist sehr ambitioniert, geht meist schief und sorgt auf jedenfall für viel Frust.

Wie isst man einen Elefanten?
Bissen für bissen...

Soll heissen, ein kleines Teilproblem nach dem anderen lösen.
Wenn du die "Kartenerkennung" mal aussen vor lässt, hast du immer noch das Problem der KI beim Spielen, würde mich zuerst darauf stürzen.


----------



## Nordevil (3. Mrz 2008)

Ich habe gedacht, dass die KI wohl eher schwieriger sein dürfe als die Karten- bzw. Ziffernerkennung. Die Kartenerkennung dürfte nicht das Schwierigste sein denke ich, da sie ja immer gleich aussehen. Hmm, naja, mal sehen.

Bissen für Bissen ist auf jeden Fall richtig!

Ich habe gerade auch was über Clusterananlyse gelesen. Vielleicht könnte das auch helfen?!? Es gibt da wohl einen k-means Algorithmus. Weiß einer etwas genaueres darüber?

Vielleicht noch andere Vorschläge?!?


----------



## Wildcard (3. Mrz 2008)

Die Kartenerkennung ist äusserst komplex. Von einem Bild ausgehend, sei dir zum Beispiel eine Self Organizing Map nahegelegt um sie mit einem bekannten Bild vergleichen zu können.
http://de.wikipedia.org/wiki/Kohonenkarte
Ich bin allerdings davon überzeugt, dass dich als Anfänger diese Aufgabe massiv überfordern wird.


----------



## Nordevil (3. Mrz 2008)

Hallo Wildcard,

ich habe mir das gerade mal angeschaut und bin erschlagen. Ich studiere zwar schon länger Informatik, aber damit bin ich noch nicht in Berührung gekommen. So kompliziert hatte ich mir das eigentlich auch nicht gedacht. Ich glaube aber auch, dass das mit Kanonen auf Spatzen geschossen ist.

Warum sollte eine Kartenerkennung äussert komplex sein? Die Karten befinden sich doch immer an der selben Stelle. Wenn ich mir jetzt z.B. die Farbe eines Pixels aus der Mitte des Symbols anzeigen lasse, dann weiß ich doch schon, dass es sich bei schwarz entweder um Piek oder Kreuz handeln muss und es bei Rot entweder Karo oder Herz sein muss. Dann brauche ich doch nur noch jeweils die beiden unterscheiden und die Werte auslesen. Das kann doch nicht so komplex sein, oder?!?


----------



## Wildcard (3. Mrz 2008)

Warum befinden sich die Karten immer an der selben Stelle? Das ist abhängig von der Fenstergröße, Auflösung, Fensterposition,... Dann hast du auf deinem Screenshot noch einen Mauszeiger drauf, das halb transparente Fenster von Downloadmanager XY, ein ICQ Fenster das das Spielfeld halb überdeckt und und und


----------



## Nordevil (3. Mrz 2008)

OK OK, ich gehe natürlich erst einmal davon aus, dass ich eine "bereinigte Oberfläche" habe, auf dem nur das eine Programm bzw. das eine Fenster zu sehen ist. Fenstergröße, -position und Auflösung sollten natürlich auch immer gleich sein. Das hatte ich vergessen zu sagen. Das Prog soll erst einmal nur auf meinem eigenen Rechner laufen. Der Rest soll dann nach und nach kommen. "Bissen für Bissen" eben.


----------



## ARadauer (3. Mrz 2008)

habs zwar noch nie benutzt, aber sieht vielversprechend aus
http://www.javaocr.com


----------



## Gast (4. Mrz 2008)

Hallo ARadauer,

danke für den Tipp, nur sind mit 1000 EUR bzw. 700 EUR die Sache dann doch  nicht wert.


----------

