Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

The radial distortion parameters (k1 .. k3 or .. k6 for the ration model) and the tangential (decentering) parameters (p1, p2) are meant to be applied to normalised image coordinates, that is

image description

where u, v are image coordinates and x, y normalized coordinates. It doesn't make much sense to talk about a unit for the parameters of either these two distortion models, since they are just coefficients for approximating (through Taylor expansion) some unknown true lens distortion function. Every calibration implementation I have ever seen has estimated the distortion parameters for normalized image coordinates, as this is ubiquitous in the literature.

Without seeing the incorrect undistorted images, I can only speculate about the cause of the problem, but I think it might be related to

  • Incorrect center of projection (cx, cy). This has a large effect on the undistortion effects, so if you are seeing the undistortion being applied unevenly (some areas too much, others too little), this is likely the cause.
  • Parameter packing. OpenCV currently packs the distortion parameter vector in a slightly odd order [k1, k2, p1, p2, k3, k4, k5 , k6], so make you are translating parameters in the correct order.