相机校准 - OpenCV 求解 PnP 桶形天线



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

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

这会在我的程序中创建一个小错误,因为源图像已经失真了,对吧?

如果是这样,我怎样才能让solvePnP()忽略桶畸变?我可以传递失真系数仅为 1 的向量吗?还是我应该将所有值设置为 0?其他方式?

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

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

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

最新更新