tiavec88
tiavec88

Reputation: 345

distortion coefficents with opencv camera calibraton

I'm writing in visual c++ using opencv library. I used calibrateCamera function with a checkboard pattern to extract intrinsic, extrinsic and distortion values. The problem is that I don't know how to use the distCoeffs matrix (1x5) on my 2D points on the CCD. Can someone help me? Thanks in advance!

Upvotes: 1

Views: 792

Answers (1)

Hammer
Hammer

Reputation: 10329

The relevant portion of the documentation is

Tangential distortion occurs because the image taking lenses are not perfectly parallel to the imaging plane. Correcting this is made via the formulas:

x_{corrected} = x + [ 2p_1xy + p_2(r^2+2x^2)] 
y_{corrected} = y + [ p_1(r^2+ 2y^2)+ 2p_2xy]

So we have five distortion parameters, which in OpenCV are organized in a 5 column one row matrix:

Distortion_{coefficients}=(k_1 k_2 p_1 p_2 k_3)

You can also use undistort, undistort points, or initUndistortRectifyMap combined with remap

Upvotes: 1

Related Questions