0

Ich habe ein Fisheye-Objektiv, von dem ich den Hauptpunkt C = (x_0, y_0) und die Beziehung zwischen r (verzerrten radialen Abstand) und Theta (Winkel zwischen optischer Achse und dem eintreffenden Strahl) die folgen das gleiche Abstand Modell r(Theta)= f*ThetaKorrektur Fisheye-Objektiv auf ein Flugzeug

ich diese Parameter verwenden möchte, um dieses Bild zu korrigieren Image to rectify, denn das verfolge ich diese Schritte, aber ich bin nicht sicher, ob mein Ansatz richtig ist, weil ich mit negativen Werten am Ende links bin :

1- shift the origin to the principal point 

2- append to each point in the image plane 1 for the z coordinate 
(which corresponds to a focal length equal to 1): {x,y} ==> {x,y,1} 

3- calculate the angle Thea between {x, y, 1} and the point {0,0,1} 

4- calculate the angle Beta in the image plane Beta = ArcTan(y/x) 

5- calculate the image rectified coordinates: 

     x_rec = x_0 +[ Cos(Beta) * r(Theta)] 

    y_rec = y_0 +[ Sin(Beta) * r(Theta)] 
+0

Die beste Antwort auf [diese Seite] (https://mathematica.stackexchange.com/questions/34264/how-to-remap-a-fisheye-image) könnte haben, was Sie wollen. – meowgoesthedog

Antwort

0

Sie können diese Verzerrung nicht blind korrigieren, ohne die rel aktion. Sie müssen kalibrieren.

Machen Sie ein Bild von einem Schachbrett oder einem Lineal, und zeichnen Sie die Beziehung zwischen der Entfernung zur Mitte im Bild und in der realen Welt.

Eine Anpassung mit einem niedrigen Grad an Polynom wird wahrscheinlich tun. Es sollte nicht viel tangentiale Verzerrung geben.

+0

Eigentlich habe ich die Kamera bereits kalibriert, da ich die Relation zwischen r und Theta habe, möchte ich diese Relation verwenden, um auf einer Ebene zu projizieren – Lolette

+0

Ich sage dir gerade, dass es keine Beziehung zwischen Rho und Theta gibt, da es keine gibt tangentiale Verzerrung. –

+0

Entschuldigung, ich verstehe nicht, r (Theta) entspricht der Beziehung zwischen dem Abstand zwischen dem Hauptpunkt in der Bildebene und dem projizierten Punkt und dem Winkel Theta, der den 3D-Punkt in der Welt mit der optischen Achse bildet – Lolette