zoukankan      html  css  js  c++  java
  • 相机的标定

    这里主要讲解的不是如何标定,而是为什么需要标定?标定会涉及到那些变量?更好地理解摄像机原理。

    为什么要标定?

    摄像机模型小节中,我们讲到了摄像机模型:

    P=K*[R|t]=K*egin{bmatrix}R&&t\0^T&&1end{bmatrix}

    x=P*X 此处X是世界坐标系下的位置。

    这里面的K为摄像机的内部参数。

    K=egin{bmatrix}alpha_x&&0&&u_0&&0\0&&alpha_y&&v_0&&0\0&&0&&1&&0end{bmatrix}

    其中 alpha_x=f*m_xalpha_y=f*m_y ,f为摄像机焦距,m分别表示在x和y方向上图像坐标单位距离的像素数, (u_0,v_0) 表示像素量纲上图像的原点。

    标定的一项工作就是确定这些内部参数.

    非线性相机模型

    在实际的成像过程中,考虑镜头的失真,一般都会存在非线性畸变,所以线性针孔模型是不能准确描述成像几何关系的.畸变可以由下列公式描述:

    left{egin{array}{ll}
ar{x}=x+delta_{x}{(x,y)}\
ar{y}=y+delta_{y}{(x,y)}
end{array}
ight.

    其中,(ar{x},ar{y})是由线性模型计算出来的图像点坐标的理想值,而(x,y)则是实际图像中的坐标,delta_{x},delta_{y}为非线性畸变,其数学表达式为:

    delta_{x}(x,y)=k_{1}x(x^{2}+y^{2})+(p_{1}(3x^{2}+y^{2})+2p_{2}xy)+s_{1}(x^{2}+y^{2})

    delta_{y}(x,y)=k_{2}x(x^{2}+y^{2})+(p_{2}(3x^{2}+y^{2})+2p_{1}xy)+s_{2}(x^{2}+y^{2})

    其中,k_{1}x(x^{2}+y^{2})是径向畸变,p_{1}(3x^{2}+y^{2})+2p_{2}xy是离心畸变,而s_{1}(x^{2}+y^{2})是薄棱镜畸变.

    式中k_{1}\,k_{2}\,p_{1}\,p_{2}\,s_{1}\,s_{2}为非线性畸变参数.

    有研究表明引入过多的非线性参入,不仅不能提高精度,还可能导致解的不稳定性(而且现在相机中一般有自校正模块).一般比较常见的是径向畸变:

    ar{x}=x(1+k_{1}r^{2})

    r^{2}=x^{2}+y^{2}为径向半径,所以图像边缘处畸变较大.

    径向畸变

    在制作上讲,制作一个"球形"的透镜比一个数学上的理想透镜要容易,这产生了径向畸变.径向畸变在成像仪中心的畸变为0,随着向边缘移动,畸变也越严重,一般成像仪某点的径向位置按下式调节:

    x_{c}=x(1+k_{1}r^{2}+k_{2}r^{4}+k_{3}r^{6})

    y_{c}=y(1+k_{1}r^{2}+k_{2}r^{4}+k_{3}r^{6})

    对于普通的网络相机,通常只使用前两项;对于畸变严重的相机,如鱼眼透镜,我们也使用第三个畸变项k_{3}.

    切向畸变

    由于机械方面,很难将透镜和成像仪保持完全平行,会产生切向畸变.

    x_{c}=x+[p_{1}(3x^{2}+y^{2})+2p_{2}xy]

    y_c=y+[p_{2}(3x^{2}+y^{2})+2p_{1}xy]

    因此,我们共需要5个畸变参数,在OpenCV中成为畸变向量,是一个5*1的矩阵,按照顺序依次是k1,k2,p1,p2,k3.

    至此,那为什么要做相机标定呢?

    由于每个镜头的畸变程度各不相同,通过相机标定可以校正这种镜头畸变。

    总结通过标定的方式来求解相机内参和畸变参数,相当于一种相机校准,然后这些参数就可以用于后面的三维重建了。

    具体到如何标定,可以参考:http://blog.csdn.net/dcrmg/article/details/52939318

    附上其代码,写的很有条理。

  • 相关阅读:
    《构建之法》阅读笔记07
    学习进度条——第六周
    《构建之法》阅读笔记06
    团队开发
    《构建之法》阅读笔记05
    数组3——返回二维数组中最大联通子数组的和
    学习进度条——第五周
    坯布检验管控系统
    DateTime日期格式转换,不受系统格式的影响
    多层下firebird自增长字段的处理
  • 原文地址:https://www.cnblogs.com/houkai/p/6416485.html
Copyright © 2011-2022 走看看