鱼眼相机模型

鱼眼镜头模型详情请参考:

1.https://blog.csdn.net/u010128736/article/details/52864024

2.https://blog.csdn.net/weixin_42054950/article/details/80859212

一、鱼眼镜头模型

鱼眼镜头模型可以近似为单位球面投影模型。(鱼眼镜头主要的是考虑径向畸变,而忽略其余类型的畸变)

其成像过程分解成两步:

1.三维空间点线性地投影到一个球面上,它是一个虚拟的单位球面,它的球心与相机坐标系的原点重合;

2.单位球面上的点投影到图像平面上,这个过程是非线性的。

 

二、投影函数

鱼眼镜头会按照一定的投影函数来设计其大致能被分为四种:

rd表示鱼眼图像中的点到畸变中心的距离,是鱼眼相机的焦距,θ是入射光线与鱼眼相机光轴之间的夹角,即入射角。

1.等距投影模型:​间距相同的 入射光线 其投影点的间距 也对应 相同;

2.等立体角投影模型:相等立体角的入射面会产生相等面积的像;畸变程度介于等距模型与正交模型之间;

 

3.正交投影模型:畸变很大,180°周边及以后的情况无法描述,适用于广角摄影镜头;

4.体视投影模型:畸变最小;

5. 透视模型:即小孔成像

 

三、OpenCV中的鱼眼相机模型

OpenCV中使用的鱼眼相机模型基于等距投影模型提出的。

我们可以将鱼眼相机模型的形式统一以等距投影模型的形式来表示,即

                  

对实际的鱼眼镜头来说,它们不可能精确地按照投影模型来设计,所以为了方便鱼眼相机的标定,Kannala提出了一种鱼眼相机的一般多项式近似模型。通过前面的四个模型,可以发现θd是θ的奇函数,而且将这些式子按泰勒级数展开,发现θd可以用θ 的奇次多项式表示,即 

            ​ 

为了实际计算的方便,需要确定式中θd取到的次幂数。Kannala提出取式的前五项即取到的九次方,就给出了足够的自由度来很好地近似各种投影模型。θd的一次项系数可以为1,于是OpenCV中使用的鱼眼相机模型为:

            

上式表示的模型是根据四种鱼眼相机投影模型得出的一种通用鱼眼相机多项式模型。这种模型根据θ能够得到θd ,即通过无畸变图像中的点能够计算出鱼眼图像中的畸变点。这种模型在OpenCV的鱼眼相机标定方法中是适用的,因为OpenCV借助标定板对鱼眼相机进行标定。从空间点到鱼眼图像上的点的变换过程可用式子表示为:

             ​ 

             

                 

                

          

             ​( 将点投影在了Z=1的平面上了,即f=1)

            

上面式子中,X表示空间点,Xc表示相机坐标系下对应的空间点,R和t分别是两个坐标系之间的旋转矩阵和平移向量,(u,v)T 表示投影到鱼眼图像上的对应点。OpenCV中对鱼眼相机的标定步骤能够分成四步:(1)初始化内参数;(2)初始化外参数;(3)使用LM算法最小化定位的图像点和投影的图像点之间的投影误差;(4)确定结果。

 

 

 

 

 

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值