2

我正在使用 OpenCVs solvePnP 来获取相机的姿势/位置。我通过使用用户选择的点来执行此操作,该图像已校准并已应用径向和切向失真修复。

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

这会在我的程序中产生一个小错误,因为源图像已经是桶形失真的,对吧?

如果是这样,我怎样才能让solvePnP()忽略桶形失真?我可以传递一个失真系数设置为 1 的向量吗?或者我应该将所有值设置为 0?还有什么办法?

4

1 回答 1

4

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

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

文档说,如果您传递 NULL,它将为您将所有系数设置为 0 。

于 2013-01-24T16:23:39.687 回答