如何使用鱼眼镜头参数解决PnP?

时间:2019-11-27 03:05:00

标签: opencv camera-calibration pose-estimation opencv-solvepnp

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

如何将我的鱼眼镜头参数与solvePnP()一起使用?

1 个答案:

答案 0 :(得分:1)

根据docs.opencv.org,您拥有cv::fisheye::calibrate()中的{K,D,rvecs,tvecs}。

您可以使用distorted从输入坐标cv.fisheye.undistortPoints()中除去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))

祝你好运