相机标定

本文最后更新于:2023年7月26日 晚上

几步完成相机标定!(图传也有相机,也可以标定)

  • step 1:打印标定板(不能有折痕,要哑光纸打印,A3大小),贴在碳板上,一定要平整。
  • step 2:用需要标定的相机拍照,设定好需要的分辨率,拍20-30张不同角度的标定板照片,要求标定板要占大部分相片区域(80%以上)
  • step 3:使用matlab进行标定。
    关于options:
    • (1)Radial Distortion:径向畸变
      2 Coefficients选项:使用四次多项式来估计透镜的径向畸变,适用于一般相机
      3 Coefficients选项:使用六次多项式来估计透镜的径向畸变,仅适用于大视场相机
    • (2)Compute:
      关于Skew:假设X轴和Y轴不垂直。这意味着图像像素不是矩形的。所以,Skew选项一般不需要选择
      关于Tangential Distortion:当镜头的主轴与相机传感器不垂直时,会发生切向失真
      选择options的要求是使平均误差尽量小,低于0.5为可用
  • step 4:将matlab标定得到的畸变参数写成opencv可用的畸变系数的排列(k1,k2,p1,p2,k3),其中三个径向畸变,两个切向畸变
    • RadialDistortion里面的两个参数对应k1和k2,k3为0(对于鱼眼镜头等径向畸变特别大的才需要计算k3)
    • TangentialDistortion里面的两个参数对应p1,p2
    • 记录大疆图传相机数据:
      畸变系数:(-0.285400532140372、0.106341621768377、 0、0、 -0.0203255154424868)
      内参矩阵:(matlab直接计算得到)
      $$\begin{matrix}
      870.536594077599&0&0\
      0&871.002811118890&0\
      959.879173875982&554.055610210946&1\
      \end{matrix}$$
      需要将上方的内参矩阵转置之后才能给opencv使用:
      $$\begin{matrix}
      870.536594077599&0&959.879173875982\
      0&871.00281111889&554.055610210946\
      0&0&1\
      \end{matrix}$$

相机标定
http://zoechen04616.github.io/2023/07/25/相机标定/
作者
Yunru Chen
发布于
2023年7月25日
许可协议