我正在尝试通过 OpenCV 3.4.0(C++,MS Windows)执行鱼眼相机校准。
我使用 cv::fisheye::calibrate 来制作 K 和 D(相机矩阵和径向畸变系数矩阵)。然后我使用 cv::fisheye::initUndistortRectifyMap 为 X 和 Y 坐标生成地图。最后,我使用 cv::remap 通过来自 initUndistortRectifyMap 的地图来消除鱼眼相机的图像失真。一切看起来都不错,但 OpenCV 只扭曲了鱼眼图像的中心部分。边缘移到外面。我想扭曲整个图像。我尝试手动更改 K 矩阵中的焦距,并得到不失真的边缘,但它们变得非常模糊。我在这个任务中找到了一些结果。例如
https://www.youtube.com/watch?v=Ll8KCnCw4iU
和
https://www.youtube.com/watch?v=p1kCR1i2nF0
据你所见,这些结果与我的结果非常相似。有没有人有这个问题的解决方案?