Projektion einer Ebene im Raum < Topologie+Geometrie < Hochschule < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 01:50 Mi 16.09.2009 | Autor: | Damo |
Aufgabe | Bild 1 stellt ein Go Brett ohne irgendwelche Transformationen und Verzerrungen da.
Bild 2 ist ein Go Brett mit einer Webcam aufgenommen.
Ziel ist es anhand von Referenzpunkten die Koordinaten jedes Kreuzungspunkts in Bild 2 zu finden.
a) Wie viele Referenzpunkte sind nötig?
b) Lösungsweg für das finden aller Kreuzungspunkte.
Die Geometrie eines Go Bretts kann Bild 1 entnommen werden. |
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
Dies ist keine Aufgabe aus dem Studium, sondern ist in meinem Hobbyprojekt aufgekommen.
Es geht darum einen Recorder zu programmieren, der ein Go Spiel
per Webcam überwacht und jeden Zug aufzeichnet.
Zuerst hatte ich daran gedacht Formerkennung und ähnliches zu nutzen, aber dann ist mir eingefallen, dass ich einfach nur die Koordinaten jedes Punktes auf dem Go Brett kennen müsste um diese dann auf Helligkeitsveränderungen hin zu überwachen. Und ich somit dann die Züge erkennen könnte.
Nun aber zum Problem:
Zuerst hatte ich einen einfach Algorithmus der zwei diagonal gegenüberliegende Eckpunkte brauchte um die Koordinaten der Punkte zu Rekonstruieren, da alle Punkte zu ihren Nachbarn äquidistant sind. Das funktioniert beim Computerbild auch noch sehr gut, nimmt man aber das richtige Bild einer Webcam hat man das Problem, dass diese nicht unbedingt direkt über dem Spielfeld angeordnet ist sondern, wie auf dem zweiten Bild zu sehen ist, schräg von oben auf das Go Brett guckt.
Ich habe es mit bis zu 9 Referenzpunkten versucht, allerdings ist der Fehler immer noch zu groß.
Lösungsansatz:
Vielleicht kann eine Transformationsmatrix anhand von Referenzpunkten rekonstruiert werden, mit der man dann die Punkte des ursprünglichen Brettes auf das Bild projizieren kann. Ich glaube man kann die Verzerrung der Linse erst einmal ignorieren.
Leider hört es dann hier schon bei mir auf. Für jeden Lösungsansatz bin ich dankbar.
|
|
|
|
Hallo Damo,
vor einiger Zeit hatten wir hier eine Diskussion,
in welcher wir so ziemlich genau dein Problem
ausführlich abgehandelt haben. Sie begann mit
einer Frage betreffend
Küchenfliesen
Schau dir jene Beiträge einmal durch und bring
dann deine verbleibenden Fragen hier vor.
Gruß
Al-Chwarizmi
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 22:15 Mi 16.09.2009 | Autor: | Damo |
Vielen Dank, das war genau das was ich gesucht habe.
An dieser Stelle auch nochmal Dank an Felix für seinen Quellcode,
ich hoffe mal, dass ich diesen auch verwenden darf. Ich hab ihn nach
C# portiert, wer Interesse daran hat kann mich anschreiben.
Grüße
Damo
|
|
|
|
|
> Vielen Dank, das war genau das was ich gesucht habe.
>
> An dieser Stelle auch nochmal Dank an Felix für seinen
> Quellcode,
> ich hoffe mal, dass ich diesen auch verwenden darf. Ich
> hab ihn nach
> C# portiert, wer Interesse daran hat kann mich
> anschreiben.
>
> Grüße
> Damo
Das ging jetzt aber sehr rasch. Und es ist ein
glänzendes Beispiel für die Universalität mathe-
matischer Überlegungen: ob Küchenrenovation
oder Go per Webcam - das gleiche mathematische
Modell kann in beiden Fällen helfen !
LG Al-Chw.
|
|
|
|