Projektion von 3D nach 2D < Sonstiges < Lineare Algebra < Hochschule < Mathe < Vorhilfe
|
Hallo allerseits,
Ich würde sehr gerne verstehen, mit welcher Projektionsmatrix Objekte (im 3D Raum) auf einen Bildsensor (2D) abgebildet werden. Dazu habe ich z.B. den Artikel auf Wikipedia angeschaut.
1) Beim Zusammensetzen der inneren Orientierung habe ich angenommen, dass c=Brennweite=3.6mm ist.
2) Bildpunkte pro Milimeter: [mm] x_0 [/mm] = 752px/4.51mm, [mm] y_0 [/mm] = 480px/2.88mm
3+4) Position des Bildhauptpunktes ist in der Mitte und Sensor ist rechteckig
Unsicher bin ich jetzt was ich wo für Einheiten nehmen soll 1) & 3) (mm?, m?), ob bei 3) in Pixel anzugeben ist.
Meine Annahme war nun:
c =3.6
[mm] k_x [/mm] = [mm] \bruch{752}{4.51}, k_y [/mm] = [mm] \bruch{480}{2.88}
[/mm]
[mm] x_0 =\bruch{752}{2}, y_0 =\bruch{480}{2}
[/mm]
[mm] \Theta [/mm] = 90°
ergibt gerundet:
K = [mm] \pmat{ 600 & 0 & 376 \\ 0 & 600 & 240 \\ 0 & 0 & 1}
[/mm]
daraus folgt
P = [mm] \pmat{ 376 & 0 & 600 & 0 \\ 240 & 600 & 0 & 0 \\ 1 & 0 & 0 & 0}
[/mm]
Das ganze wollte ich dann mit einem Versuchsaufbau prüfen. Der Aufbau ist wie folgt:
Kamera steht im Ursprung und "schaut" in negative z-Richtung. x ist dabei horizontal, y vertikal.
Dabei wären dann z.B.
[mm] \vec{x}=\pmat{ 253 & 138 & w }^T [/mm] [px] (Pixel relativ zum Zentrum, Bild steht auf dem Kopf)
[mm] \vec{X}=\pmat{ -250 & 155 & -625 & W }^T[/mm] [mm] (Angaben sind +- 5mm )
und es sollte dann gelten
[mm] \vec{x}=P*\vec{X} [/mm] aber ich kriege als Ergebnis (gerundet) von [mm] P*\vec{X}=\pmat{ 281'170 & 31'800 & -250 }^T. [/mm]
Konkret frage ich mich folgendes:
1) Ist die von mir verwendete Methode korrekt? Oder gibt es da was gescheiteres? ;)
2) Was mach ich beim Anwenden der Methode falsch? (falsche Einheiten? Was für Einheiten kommen da raus?)
3) Was genau bedeuten w und W? Was soll ich für W einsetzen (obwohl wie von mir berechnet die ja jetzt mal gar nix beiträgt ;) )
Im Voraus besten Dank für eure Hilfe
stimpy_ch
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 00:16 So 20.05.2012 | Autor: | leduart |
Hallo
am besten, du machst dir ein Querschnittbildchen, in der xz und yz Ebene.
dann einfacher Strahlensatz: reale Punkte (X,Y,Z) Bildpunkte (x,y,0)
x/X=3.6mm/Z
oder x=3.6mm*X/Z das gleiche gilt entsprechend fuer y.
Einheiten: Z und X in denselben Einheiten etwa m, dann kommt x in mm raus.
Das mit ner matrix zu rechnen halte ich fuer zu umstaendlich
Willst du dann noch die Pixel ausrechnen?
Gruss leduart
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 12:48 Mo 21.05.2012 | Autor: | stimpy_ch |
Besten Dank für deine Hilfe leduart. Hätte ich eigentlich selber drauf kommen müssen es so zu machen, aber wieso einfach wenn es auch komplizierter geht ... ;) Und ja die Pixel werden daraus ermittelt.
Wie jetzt der Wiki Artikel zu deuten ist, weiss wohl vornehmlich der Verfasser.
|
|
|
|