Position eines echten Objekts aus Pixelkoordinaten einer echten Kamera berechnen



  • Hallo,

    ich denke das Forum hier passt immer noch am besten zu meiner Frage.
    Ich habe die Pixelkoordinaten (x/y) eines Objekts welches mit einer Kamera aufgenommen wurde. Nun möchte ich die X/Y Koordinaten dieses Objekts in Metern berechnen. Dazu habe ich die Entfernung zwischen Kamera und Objekt (Z) und die gesamten Specs der Kamera und des Aufnahmechips.
    Ich weiß, dass diese Informationen ausreichen um mein Problem zu lösen, nur irgendwie tue ich mir schwer die richtigen Gleichungen/Matrizen aufzustellen. Wenn man das Problem googlet landet man leider oft im Bereich der Grafikprogrammierung, was mit hier nur bedingt hilft.
    Kann mir jemand helfen mein Problem zu lösen? 🙂



  • Das sind doch einfach ähnliche Dreiecke, wenn man die Verzerrung durch die Line ignoriert und die als ideale Lochkamera betrachtet. Man muss nur einmal den Oeffnungswinkel der Kamera messen.



  • @tggc sagte in Position eines echten Objekts aus Pixelkoordinaten einer echten Kamera berechnen:

    Das sind doch einfach ähnliche Dreiecke, wenn man die Verzerrung durch die Line ignoriert und die als ideale Lochkamera betrachtet. Man muss nur einmal den Oeffnungswinkel der Kamera messen.

    Und wenn man die Brennweite der Linse kennt, muss man nichtmal das…



  • Nein, die Brennweite reicht dazu nicht, da diese unabhängig vom Aufnahmeformat ist.



  • @tggc sagte in Position eines echten Objekts aus Pixelkoordinaten einer echten Kamera berechnen:

    Nein, die Brennweite reicht dazu nicht, da diese unabhängig vom Aufnahmeformat ist.

    Stimmt natürlich, du brauchst auch noch die Abmessungen des Sensors. Die hat er aber ja auch…



  • Nein, du brauchst weder Brennweite noch Sensorgroeße, sondern nur deren Verhältnis. Und dieses Verhältnis wird durch den Oeffnungswinkel beschrieben. Mit dem Winkel und z sind dann zwei Groessen in einem Dreieck bekannt, aus denen man die fehlende berechnen kann.



  • @tggc sagte in Position eines echten Objekts aus Pixelkoordinaten einer echten Kamera berechnen:

    Nein, du brauchst weder Brennweite noch Sensorgroeße, sondern nur deren Verhältnis. Und dieses Verhältnis wird durch den Oeffnungswinkel beschrieben. Mit dem Winkel und z sind dann zwei Groessen in einem Dreieck bekannt, aus denen man die fehlende berechnen kann.

    Der Punkt ist: Er sagte er kennt "die gesamten Specs der Kamera und des Aufnahmechips". Daher meinte ich, dass es nicht notwendig sein sollte, extra den Öffnungswinkel messen zu gehen, da die benötigten Größen (Brennweite + Sensorabmessungen) ja offenbar bereits bekannt sind…



  • Ich hab keine Ahnung was bekannt ist. Aber wie ich bereits sagte, muss der Winkel nur einmal gemessen werden. Ist er in den technischen Daten notiert und nicht einstellbar, muss er also nicht nochmal gemessen werden.



  • @dot sagte in Position eines echten Objekts aus Pixelkoordinaten einer echten Kamera berechnen:

    Er sagte er kennt "die gesamten Specs der Kamera und des Aufnahmechips". Daher meinte ich, dass es nicht notwendig sein sollte, extra den Öffnungswinkel messen zu gehen, da die benötigten Größen (Brennweite + Sensorabmessungen) ja offenbar bereits bekannt sind…

    DIe Frage ist wie genau er es braucht ....
    "Normal" sollten die Kameras individuell kalibriert werden, um die mechanische Abweichungen zu eliminieren (intrinsics).
    Die unterschiede zwischen baugleichen Kameras mit baugleichen Objektiven sind teilweisse "enorm".

    Nein, du brauchst weder Brennweite noch Sensorgroeße, sondern nur deren Verhältnis. Und dieses Verhältnis wird durch den Oeffnungswinkel beschrieben.

    Damit liese sich zumindest schon mal ein "ideales" Verzerrunsmodell erstellen.

    Ich habe die Pixelkoordinaten (x/y) eines Objekts welches mit einer Kamera aufgenommen wurde. Nun möchte ich die X/Y Koordinaten dieses Objekts in Metern berechnen. Dazu habe ich die Entfernung zwischen Kamera und Objekt (Z) und die gesamten Specs der Kamera und des Aufnahmechips.

    Eigentlich langt das nicht, um alle Freiheitsgrade zu elimnieren. Du brauchst noch den Winkel der Kamera in Bezug zu der Ebene, auf die sich deine gesuchten X/Y Koordinaten befinden. Hasst du den ? Oder ist X und Y in bezug auf das Kamera-Koordinatensystem gemeint ? also ist der Principal Point dein Koordinatenursprung ?