3D Koordinatentransformation klappt nur in einer Ebene

Neue Frage »

Twoflower Auf diesen Beitrag antworten »
3D Koordinatentransformation klappt nur in einer Ebene
Hallo,

ich hoffe mal, dass ich hier richtig bin.

Ich habe folgendes Problem:
Ich habe zwei Kameras und kenne jeweils ihre Orientrierung zu einer Ebene im Raum, also die Rotation und die Translation. Diese sind jeweils aus sich der Kameras angegeben, somit habe ich also ,wobei sich der Indize immer auf die Kamera bezieht. Eben so sind mit die internen Parameter der Kameras bekoannt, also , wobei die Brennweite und die Koordinaten des Bildhauppunktes auf dem Sensor sind.
Soweit so gut. Nun projeziere ich einen Punkt aus der Sensoreben in den 3D Raum, diese tue ich mit folgender Gleichung (bei den Berechungen handelt es sich immer um homogene Koordinaten):
Y analog
Z wird hierbei vorgeben.
Somit erhalte ich den Punkt
Nun Bestimme ich die Rotation vom 1.Kamerakoordinatensystemzum 2. Kamerakoordinatensystem.
, sowie die Translation
und Transformiere nun die Koordianten des Punktes mit folgender Vorschrif: und erhalte Dieser wird dann auf den Sensor der 2. Kamera projeziert mit:
y analog und z = 1.

Das Problem besteht darin, dass die Zuordnung von Punkte in den Bilder nur auf der Ebene funktioniert, zu der die einzelnen externen Parameter passen. Nicht dahinter und nicht davor, dabei ist es egal ob die Ebene "schief" im Raum steht, sprich dass Z sich über die Eben ändert.

Hat vielleicht jemand eine Idee warum das so ist, vielleicht hab ich ja auch einen Fehler in meiner Rechnung.

Mfg
Twoflower
Iridium Auf diesen Beitrag antworten »

Hi,

Ich weiß zwar nicht, ob ich das Problem in allen Einzelheiten verstanden habe, aber es ers erscheint mir logisch, daß die Zuordnung von Bildpunkten auf den Sensoren der beiden Kameras nur für die Ebene funktioniert, die du ganz am Anfang mit deinen Rotations- und Translationsmatrizen definierst...denn das ist doch das Bezugssystem dann. Die fehlende Zuordnung ist sozusagen dadurch gegeben, daß der gemeinsame "Brennpunkt" nicht in der Ebene liegt, sondern davor bzw. dahinter. Dann müsstest du deine Bezugsebene so definieren, daß der gemeinsame Punkt, auf den die Kameras gerichtet sind, in der Ebene enthalten ist (sozusagen als Spiegelebene...Einfallswinkel = Ausfallswinkel?)
Twoflower Auf diesen Beitrag antworten »

Hi,

danke erstmal für die Antwort.

Wie genau stellst du dir das mit der Spiegeleben vor. Wie ich das sehe ist der Fall, wo Einfallswinke = Ausfallswinkel ist, ein Spezialfall, sobald man quasi auf dem Sesor einen Punkt weiter Rechts oder weiter Links anwählt, würde das ja schon nicht mehr passen. Oder meinst du , dass ich für jeden Punkt einen neu Eben definieren soll? Ich glaube das ist schwer möglich, aber ich lasse mich da gerne berichtigen.
Normale Weise, müsste ich durch die Berechnung von aus dich die Lage der zweiten Kamera zur ersten Kamera bestimmt haben. Somit sollte die Bezugseben doch keinen Einfluss mehr haben. Da die Kameras weitgehend parallel stehen, kann ich natürlich nicht aus der ersten Kamera direkt auf die Sensoreben der zweiten Kamera Projezieren, das geht schon auf Grund der Brennweiten, und damit verbundenen Feldwinkel nicht.
Aber müsste es nicht eigentlich reichen, den Vektor eine Punktes P ( ) bezüglich des ersten Kamerakoordinatensystems mit in das zweite Kameraskoordinatensystem zu Verschieben/Drehen und somit erhalten und das unabhängig von der Entfernung des Punktes zum Koordinatenursprung der ersten Kamera?

MfG
Twoflower
Iridium Auf diesen Beitrag antworten »

Zitat:
Original von Twoflower
Da die Kameras weitgehend parallel stehen, kann ich natürlich nicht aus der ersten Kamera direkt auf die Sensoreben der zweiten Kamera Projezieren, das geht schon auf Grund der Brennweiten, und damit verbundenen Feldwinkel nicht.


Ok, das schränkt vielleicht meine Argumentation stark ein. Trotzdem ist es doch so, daß beide Kameras denselben Punkt im dreidimensionalen Raum "sehen", oder? Und du an der Abbildung desselben Punktes auf den Sensorflächen der beiden Kameras interessiert bist, die also eins-zu-eins aufeinander abbilden willst? Vielleicht hab ich dich da falsch verstanden. Was bei Projektionen zu beobachten ist, ist ja denke ich, daß immer Information verloren geht...und bei Drehungen im Raum, daß es Spezialfälle gibt, die nicht funktionieren, weil mehrdeutig (sowas wie "gimbal lock" vielleicht)...
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »