我正在使用 opencv 库在 Visual C++ 中编写。我使用带有棋盘图案的 calibrateCamera 函数来提取内在、外在和失真值。问题是我不知道如何在 CCD 上的 2D 点上使用 distCoeffs 矩阵 (1x5)。有人能帮我吗?提前致谢!
问问题
719 次
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)
您还可以使用undistort、undistort points或initUndistortRectifyMap与remap结合使用
于 2012-11-29T16:26:14.180 回答