我有一些鱼眼失真的图像及其相应的CAVHORE校准文件。我希望现在使用OpenCV(即cv2.fisheye.undistortImage
)使图像不失真,这需要内在矩阵K
和失真系数D
。
我一直在阅读camera models and their conversions。当没有径向失真时,似乎构造K
非常容易(第2.2.4节),但获得失真系数D
和求解KRCr
并不简单。实验上,我使用没有径向失真假设的图像,并从给定的K
和H_*
参数构造V_*
。结果没有失真,但并不完美。
问题是,给定如下的校准文件,是否有任何公式或近似值来获得失真系数?或者,是否有更简单的方法来使用CAVHORE参数进行解除?
代码库,公式,指针,任何事情都值得赞赏,谢谢。
示例CAVHORE文件:
C = -0.000000 -0.000000 -0.000000
A = 0.000000 -0.000000 1.000000
H = 2080.155870 0.000000 3010.375794
V = -0.000000 2078.727106 1932.069537
O = 0.000096 0.000068 1.000000
R = 0.000000 -0.040627 -0.004186
E = -0.003159 0.004129 -0.001279
...
Hs = 2080.155870
Hc = 3010.375794
Vs = 2078.727106
Vc = 1932.069537
Theta = -1.570796 (-90.000000 deg)