1

我正在使用 opencv 库在 Visual C++ 中编写。我使用带有棋盘图案的 calibrateCamera 函数来提取内在、外在和失真值。问题是我不知道如何在 CCD 上的 2D 点上使用 distCoeffs 矩阵 (1x5)。有人能帮我吗?提前致谢!

4

1 回答 1

1

文档的相关部分是

发生切向畸变是因为图像拍摄镜头与成像平面不完全平行。通过以下公式进行更正:

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

所以我们有五个失真参数,它们在 OpenCV 中被组织成一个 5 列 1 行的矩阵:

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

您还可以使用undistortundistort pointsinitUndistortRectifyMapremap结合使用

于 2012-11-29T16:26:14.180 回答