如何使用opencv模拟基于真实数据的失真,由相机校准(C)生成?

我正在寻找一种在C语言中使用OpenCV创建(桶)失真的方法,该方法基于由相机校准生成的真实相机数据.

所以我的目标是使用opencv模拟真实的镜头失真.

因此我用OpenCV校准了一台相机.我只使用了第一个失真参数k1:x’= x * k1 *r²

通过这一步,我得到了一个校准文件,其中k1 = 0.129,即极限和内在的相机矩阵.

OpenCV提供了一种校准图像的方法.我想“逆转”这种方法,以下是可能的测试:
原始图片 – > undistort() – > undistort image – > “distort()” – >原始图像

是否有可能否定k1因子或是否有必要开发新的公式?

谢谢.

最佳答案 简短的回答,没有否定系数将不会这样做.

但是,您可以测试反转系数,只要系数很小,您就可以得到反转换.该公式没有平凡的反转,因此路径可能相当困难.

点赞