Camera/Distortion Model Confusion

asked 2020-08-27 05:04:40 -0600

Hello People,

so i'm doing some augmented reality Stuff and to do this properly i need to calibrate my camera. Calibration works fine so far, but i'm confused by the camera models used. As of my understandig, OpenCV uses a pixel based model, so the image plane has a size of 1920x1080 i.e. and focal length is also measured in px. I can convert that to real-world units using the pixel/mm relation of the sensor, wich checks out good. So the converted OpenCV focal length matches the focal length given on the lens closely.

However, i'm struggeling with the distortion. I know that OpenCV uses this formula for distortion correction:

Xc = Xd(1+K1r^2+K2*r^4...) with r=sqrt(x^2+y^2)

But what range are Xc and Xd in? Pixels, mm(sensorsize) oder uv?

Also, there is another model, used by some mediaservers & photogrammetry programs wich uses significant smaller coefficients for k1-k3, they can be obtained from the openCV coefficients by this formula:

K1 = K1(openCV)/fx(mm)^2 K2 = K2(openCV)/fx(mm)^4 K3 = K3(openCV)/fx(mm)^6

I dont really have found that much information on this model, except this: But here they are using basically the same formula for lens distortion, so why the different coefficients?

Any links,papers or explanations are very much appreciated.

Thank you and greetings,


edit retag flag offensive close merge delete


Have a look here. It is in the normalized camera frame (Z=1).

Eduardo gravatar imageEduardo ( 2020-08-27 09:00:01 -0600 )edit

Thank you very much, that helped a lot. Sorry for the late answer, couldn't log in :/

Scheolin gravatar imageScheolin ( 2020-09-28 06:52:33 -0600 )edit