OpenCV solvePnP barreldistoriton

时间:2013-01-24 13:42:43

标签: opencv camera-calibration distortion

我正在使用OpenCVs solvePnP来获取相机的姿势/位置。 我这样做是通过使用用户选择的点,在已校准的图像上并应用了径向和切向失真的修正。

然而,似乎solvePnP()除了在图像中选择的点之外还将失真系数作为输入,我想这意味着SolvePnP将失真修复应用于作为函数输入的点。

这会在我的程序中产生一个小错误,因为源图像已经被桶扭曲了,对吗?

如果是这样,我怎样才能使solvePnP()忽略barreldistortion?我可以传递失真系数设置为1的矢量吗?或者我应该将所有值设置为0? 其他一些方式?

1 个答案:

答案 0 :(得分:4)

过去我刚刚传递了一个空的cv :: Mat

cv::solvePnP(world_points, image_points, camera_mat, cv::Mat(), rotation_vector, translation_vector);

documentation表示如果你传递NULL,它会将所有系数设置为0。