C++ -> OCR mit Addierungsfunktion, Zufallsprinzip
-
Ich brauch ein Programm, habe aber keine Ahnung, wie ich es machen soll.
Das Teil soll die festgegebene Koordinaten (unten sind sie von mir notiert), und Farben Überprüfen, ob es diese übereinstimmen. Dabei hat jedes einzelne Pixel eine eigene Farbe.Wenn er die Koordinaten und Farben abgleicht, werden die Informationen in Zahlen umgewandelt. Die Zahlen habe ich fest geschrieben (unten stehts). Diese sollen in nun im Arbeitsspeicher, wenn alle Zahlen erfasst wurden zusammenaddiert werden per Zufall. Sollte 14 rauskommen, muss dies durch ein Fenster angezeigt werden. Im Fenster haben die Zahlen zu stehen. (ein Beispiel: http://board.gulli.com/attachment/46514-1251278276/Unbenannt.JPG)
Name der Variable 7.rot
Ausgabe als Wert: 7
Pixel Farbe
561,261 a4786f
561,260 754541
562,259 723439
562,258 752e32
562,257 601615
562,256 813132
563,255 6c232c
563,254 7f3542
563,253 611f2b
563,252 5a2431
562,252 7b3d4a
561,252 793240
560,252 612932
559,252 ab9296
559,253 917476
559,254 644646
559,255 caaeaaName der Variable 6.schwarz
Ausgabe als Wert: 6
Pixel Farbe
467,429 060407
467,430 020001
468,431 110f12
468,432 131114
469,432 110d0e
469,433 141011
470,433 0c0608
471,433 040000
472,433 040000
473,433 030000
474,433 1a1615
475,432 020001
475,431 000002
474,430 000105
473,430 131217
472,430 07060b
471,430 08080a
470,430 09090b
470,431 0e0c0f
470,432 1b1718Name der Variable 4, schwarz
Ausgabe als Wert: 4
Pixel Farbe
695,385 00000b
696.385 00000b
697,385 0d0b18
698,385 01000b
699,385 090611
700,385 0f0c17
701,385 010009
702,385 130d19
703,385 6e6874
701,384 3a343e
700,383 635a5d
699,382 918994
698,382 1b1728
697,382 000013
697,383 0e0f21
697,384 00000c
697,386 100e1b
697,387 02000e
-
Keine Ahnung, was du willst. Auch dein Bild laesst sich ohne Registrierung nicht anzeigen. Druecke dich klarer aus! OCR, Addieren per Zufall, ... k.A.
-
Also ich habe ein Javascript gemacht und auf meine Homepage hochgeladen. Nun brauche ich ein Programm, dass die Zahlen erkennt, darum OCR, und dann sollen die Ergebnisse, die genau 14 ergeben per Zufallsprinzip ausgerechnet werden. Wenn eine Aufgabe mit dabei ist, soll sich ein Fenster öffnen und die komplette Rechenaufgabe, die 14 ergibt anzeigen. Wenn keine Möglichkeit 14 ergibt, muss auch ein Fenster geöffnet werden mit der Meldung:,, Keine Rechenaufgabe ergibt 14!"
So ich wollte den Firefox erst einmal öffnen lassen mit der Seite:
Also:
system(firefox www.testseite.de);
Nun brauche ich den restlichen Code, fangen wir mal mit dem OCR an:
Das Programm soll genau die Koordinate suchen und die Farbe überprüfen, dabei haben wir für eine Zahl natürlich mehrere Farben, und auch Koordinaten, die überprüft werden müssen, damit es auch sicher ist, dass es die Zahl ist. Darum muss überprüft werden, welche Zahl zutrifft.
Die Schwierigkeit, weshalb ich nicht gewöhnliche Texterkennungssoftware benutze, ist die: Wenn ich einen Buchstaben, der bei dem selbstgemachten Spiel, einen Zahlenwert hat, kann ich es auch zuordnen. Deshalb muss ich für jede Zahl bestimmte Koordinaten mit den dazugehörigen Farben überprüfen, denn wenn ich die Farbe auslassen würde, könnte alles eine Zahl sein.
Genau das brauche ich für den Anfang, nur ich habe 0 Plan, wie ich das anstellen soll.
-
Fangen wir mal ganz langsam an ...
Also ich habe ein Javascript gemacht und auf meine Homepage hochgeladen. Nun brauche ich ein Programm, dass die Zahlen erkennt, darum OCR
Wo kommen die Zahlen her?
-
Die Koordinaten für eine Zahl sind oben aufgeschrieben und auch wie die Zahl danach heist.
So jetzt schreibe ich einfach mal weiter. Wenn die Text bzw. zahlenerkennung abgeschlossen ist und unser Programm weis, welche Buchstaben gerade "im Spiel" sind, muss der Computer per Zufallsprinzip alle Aufgaben die möglich sind machen und die Zahlen addieren. Wenn irgendwann 14 rauskommt, muss das Programm ein Fenster öffnen, wo die Aufgabe drinnen steht(z.B. http://img295.imageshack.us/img295/2383/unbenanntn.jpg)
Sollte in allen möglichlichen Aufgaben keine 14 als Ergebniss rauskommen, soll auch ein Fenster geöffnet werden mit diesem Text: "Keine Rechenaufgabe hat 14 als Ergebniss!"
Danach, wenn 14 rauskgekommen ist oder nicht, soll nach 2 Sekunden noch mal das Skript ausgeführt werden.
Das Skript soll zudem durch Strg + Alt + B beendet werden.
Ich hoffe ihr blickt jetzt durch
Danke an alle!
-
Ich hoffe ihr blickt jetzt durch
Nein! Beantworte meine Frage, ansonsten werde ich dir nicht helfen koennen. Wo kommen die Zahlen her? Gibt sie der Benutzer ein? Werden sie von irgendwo eingelesen? Warum brauchst du OCR?
-
Also in meinen Java Programm sind versch. Zahlen einprogrammiert. Jetzt will ich eine Masterlösung für bestimmte Leute bauen und dazu muss das Programm die zudem sehr kleinen Zahlen erkennen. Zudem sind auch ein paar Buchstaben wie Z mit dabei. Die haben dann einen bestimmten Wert (hier ist es so viel Wert, wie die Zahl 1). Die müssen auch erkannt werden. Darum muss ich meine eigene Texterkennung bauen.
-
Also in meinen Java Programm sind versch. Zahlen einprogrammiert.
Dann nimm doch gleich diese Zahlen, anstatt sie mittels OCR muehsam aus einem Bild zu extrahieren.
-
Grob gesagt sind das so eine Art Spielerkarten wie Ass,Königin,... nur mit anderen Zeichen. Die Zahlen werden vom Script selbst per Zufall ausgewählt. Ich habe aber festgelegt welchen Wert Z, U, T,... hat.
Der Mensch muss die Zahlen und den Wert der Buchstaben zusammenzählen, und zwar so, dass 14 rauskommt. Dann gibt es erst Punkte.
Ich möchte eben für uns Admins ein Tool bauen, dass uns unterstützt zu gewinnen (dürfen wir als Admins ja auch). Es soll uns die Möglichkeiten zeigen.
-
Das Problem ist definitiv, dass die Erkennungspunkte für normale OCR Programme zu klein ist. Auserdem soll nur an bestimmten Stellen die Zahlen erkannt werden, da nicht irgenwelche andere Anzeigen wie z.B. die Punkteanzeige mitgerechnet wird. Die einzige Möglichkeit ist einen OCR selbst zu machen. Normale Texterkennungsprogramme haben da keine Chance, da ich normalen Usern es nicht ermöglichen möchte zu gewinnen, da bei manchen kleinen Wettbewerben von uns sonst geschummelt werden würde.
Die Zahlen und Buchstaben sind zudem teilweise gedreht und für OCRs nicht lesbar. Die Buchstaben und Zahlen sind zudem nur 9-10 Pixel(ungefähr) hoch.