我正在使用opencv库在visual c ++中编写。我使用带有检查板模式的calibrateCamera函数来提取内在,外在和失真值。问题是我不知道如何在CCD上的2D点上使用distCoeffs矩阵(1x5)。有人能帮我吗? 提前谢谢!
答案 0 :(得分:1)
documentation的相关部分是
发生切向失真是因为摄像镜头与成像平面不完全平行。通过以下公式进行纠正:
x_{corrected} = x + [ 2p_1xy + p_2(r^2+2x^2)]
y_{corrected} = y + [ p_1(r^2+ 2y^2)+ 2p_2xy]
所以我们有五个失真参数,它们在OpenCV中以5列一行矩阵组织:
Distortion_{coefficients}=(k_1 k_2 p_1 p_2 k_3)
您还可以使用undistort,undistort points或initUndistortRectifyMap结合remap