Computer vision 将鱼眼透镜校正到平面上

Computer vision 将鱼眼透镜校正到平面上,computer-vision,geometry,projection,camera-calibration,fisheye,Computer Vision,Geometry,Projection,Camera Calibration,Fisheye,我有一个鱼眼透镜,我知道它的主点C=(x_0,y_0)和r(畸变径向距离)和θ(光轴和入射光线之间的角度)之间的关系,它们遵循等距模型r(θ)=f*Theta 我想使用这些参数来校正此图像,为此,我遵循以下步骤,但我不确定我的方法是否正确,因为最后留下了负值: 1- shift the origin to the principal point 2- append to each point in the image plane 1 for the z coordinate (which

我有一个鱼眼透镜,我知道它的主点C=(x_0,y_0)和r(畸变径向距离)和θ(光轴和入射光线之间的角度)之间的关系,它们遵循等距模型
r(θ)=f*Theta

我想使用这些参数来校正此图像,为此,我遵循以下步骤,但我不确定我的方法是否正确,因为最后留下了负值:

1- shift the origin to the principal point

2- append to each point in the image plane  1 for the z coordinate 
(which corresponds to a focal length equal to 1): {x,y}  ==> {x,y,1}

3- calculate the angle Thea between {x, y, 1} and the point {0,0,1}

4- calculate the angle Beta in the image plane Beta = ArcTan(y/x)

5- calculate the image rectified coordinates:

      x_rec = x_0 +[ Cos(Beta) * r(Theta)]

     y_rec = y_0 +[ Sin(Beta) * r(Theta)]

在不了解关系的情况下,你不能盲目地纠正这种扭曲。你需要校准

拍摄棋盘或尺子的照片,并绘制图像和现实世界中距中心的距离之间的关系


低次多项式拟合可能就可以了。切向失真应该不会太大。

事实上,我已经校准了相机,因为我有r和θ之间的关系,我想用这个关系在平面上投影。我只是告诉你,ρ和θ之间没有关系,因为没有切向失真。对不起,我不明白,r(θ)对应于图像平面中的主点与投影点之间的距离与角度θ之间存在的关系,该角度θ与光学系统形成世界中的3D点axis@Lolette:你的模型r(θ)=f*θ是完全不可能的。这描述了阿基米德螺旋。等距模型是r=fTheta,我的多项式函数与这个模型相匹配,所以我的相机或多或少是等距的,但我不使用r=fTheta,我使用五次多项式函数,上面的答案可能有你想要的。