Ask Your Question

Revision history [back]

Camera/Distortion Model Confusion

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: https://www.photomodeler.com/downloads/OnlineHelp/index.html#!radiallensdistortion.htm 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,

Patrick