相机标定
本文最后更新于: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为可用
- (1)Radial Distortion:径向畸变
- 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/相机标定/