如何解决带有鱼眼相机参数的 PnP?

How can I solvePnP with fisheye camera parameters?

我看到 OpenCV 的 solvePnP() 函数假定您的相机参数来自针孔模型。但是我使用 cv.fisheye 模块校准了我的相机,所以我想知道如何使用 solvePnP 以及从该鱼眼模块获得的参数。

如何将鱼眼相机参数与 solvePnP() 一起使用?

根据 docs.opencv.org,你有来自 cv::fisheye::calibrate() 的 {K, D, rvecs, tvecs}。

您可以使用 cv.fisheye.undistortPoints() 从输入坐标 distorted 中移除 K 和 D 的影响,请参阅 here

所以套路必须是:

  1. undistorted = cv.fisheye.undistortPoints(distorted, K, D)
  2. cv.solvePnP(objPoints, undistorted, I, D) 其中 I=np.eye(3), D=np.zeros((1,5))

祝你好运