Koordinatentransformationen

Freetree

Mitglied
Hallo Leute

Ich weiß nicht, ob diese Frage in diem Forum ganz richtig ist, aber ich stelle sie einfach mal.

Ich bin gerade dabei einen Roboter zu programmieren, und will ihn über ir-LEDs und einer IR-Cam orten.

Dabei stehen mir 4 Punkte(nur x und y koordinaten) jeweils in Weldkoordinaten und Bildkoordinaten zur verfügung, die mit einander verknüpft sind. Nun will ich eine Matrix M ausrechen, die mir die Weldkoordinaten ausgeben, wenn ich sie mit dem Vektor eier belibigen Bildkoordinate multipliziere.

Ich habe es schon geschafft eine Matrix zu errechnen, die dies für mich tut. Doch leider nicht ganz zu meiner Zufriedenheit. Denn sie benutzt nur 3 der 4 Punkte, und Arbeitet damit nicht ganz korrekt. Da ich mit meiner Cam ja von schräk oben auf den Boden schaue, habe ich ein Trapez(wenn ich die 4 Bildpunkte verbinden würde). Da die Matrix aber nur mit drei Werten arbeitet. Denkt mein PC, dass es nur ein Geschertes Rechteck ist, und gibt mir falsche wäre aus.

Dieses System würde nur funktionieren, wenn meine Cam paralel zu der x und y Achse stehen würde.
Da dies aber nicht so ist, habe ich keine affine Abbildungen mehr, sondern eine perspektivische Projektion.

Doch wie kann ich trotzdem meine Punkte berechnen?

Eine 4x4 Matrix kann ich nicht berechnen, da ich ja keine Tiefenwerte habe. Und mit der 3x3 Matrix geht es ja nicht.

Vielleicht hat ja einer von euch eine Idee.

MfG
Freetree
 

Anhänge

  • Bildschirmfoto3.jpg
    Bildschirmfoto3.jpg
    80,5 KB · Aufrufe: 18

Neue Themen


Oben