我得用菲舍伊镜头校准我的相机。
首先,我使用了OpenCv 2.4和标志CV_CALIB_RATIONAL_MODEL来获得更好的结果,但这还不够。之后,我看到了OpenCv 3.0有鱼眼函数进行校准。
我计算我的objectPoints并使用findChessboardCorners()获取我的imagePoints,它们看起来是正确的。
我的问题是在fisheye::calibrate.之后我返回的值,如重投影误差、内禀矩阵和畸变系数都是错误的。它们是-nan值。
有人知道我做错了什么吗?
谢谢
发布于 2015-02-09 23:41:49
对于新的OpenCV 3.0鱼眼函数,我发现除非指定了cv::fisheye::CALIB_RECOMPUTE_EXTRINSIC标志(例如,38像素重投影误差),否则无法得到可用的内禀校准。此外,我还指定了cv::fisheye::CALIB_FIX_SKEW。当然,您应该尽可能多地指定cv::fisheye::CALIB_FIX_Kx标志。
对于我的镜头,这是一个非常简单,微型镜头,但有很大的径向畸变,正常的OpenCV校正功能没有产生精确的校正。使用上述标志和修复K2=K3=K4=0,我获得了良好的结果。
https://stackoverflow.com/questions/26794937
复制相似问题