旧日志整理三:MATLAB标定工具箱的使用(一)

前言:

      2012年的暑假,由于私人原因我删掉了几乎所有的技术日志,近日有网友提出想看这方面的文章,我考虑了再三,将不会涉及机密的部分重新整理,图片已经找不到了,特此致歉。


说明 

    MATLAB 的相机标定工具箱 camera calibration  toolbox 是由加州理工大学开发的,网上有相应的使用帮助文档。这里是我自己以前学习这个工具箱过程中总结的一些内容。

     有些内容未必准确,请注意甄别。

 

 Calib中相机内参数的确定

     焦距

 主点:照片的几何中心,相机主光轴与照片的交点(principal point)

     偏斜系数

     扭曲度

   外参数

     平移 (3*1平移向量)

     旋转 (3*3旋转矩阵)

   算法核心函数

     go_calib_optim.m 标定,

     输入:一组特征点在图像中的位置和网格坐标

     输出:变换矩阵(相机内参数、外参数)

 go_calib_optim_iter 计算相机内外参数的核心函数

 输入:特征点在图像中的位置  及 相应的网格坐标 

 输出:相机内参数 

       相机变换矩阵(由世界坐标系坐标转换成相机坐标系坐标) 

       三维旋转和平移向量

 analyse_error.m  分析偏差

 compute_homography.m 单应矩阵计算

 输入:照片平面的齐次坐标  三维平面上的齐次坐标

 输出:单应矩阵(Homography ) 计算前的正交化矩阵

 compute_extrinsic   计算外部参数

 输入:相机的内部参数、一组特征点在图像中的位置和网格坐标

 输出:相机外参数(旋转向量和平移向量)

 project_points2

 输入:相机的内外参数、以及一组点在世界坐标系的坐标

 输出:这组点投影到照片的坐标

 Rigid_motion 刚性运动变换 

 输入:世界坐标系与相机坐标系的刚性运动参数(旋转向量和平移向量),即相机外部参数

       一组点在世界坐标系的三维坐标

 输出:这组点在相机坐标系的坐标

 rodrigues  旋转向量与旋转矩阵的转换 

Calib中变量表示

相机坐标系(Oc,Xc,Yc,Zc) 相机坐标系中的向量 XXc = [Xc;Yc;Zc] 

网格坐标系 (O,X,Y,Z)  网格坐标系中的向量 XX = [X;Y;Z]  

这里的网格坐标系其实还不是世界坐标系,因为对于calib工具箱给的第一个实例来说,每张标定板的位置都是变化的。

 

网格坐标系

Calib的相机标定过程

     Calib的相机标定原理,实际上是微软研究院的张正友提出的一种利用平面模板的标定方法,该方法只需从不同角度对模板拍摄几幅影像,通过对每幅影像的单应矩阵即可计算出相机内参数,并可以利用反投影法优化求精。

1、用户指定图库、手工指定网格的4个角

2、自动提取所有网格结点

3、由 一组特征点在图像中的位置和网格坐标  计算  变换矩阵(相机内参数、外参数)

4、偏差估计

5、计算结果可视化展现

 

在欧氏几何意义下,投影矩阵可以表示为摄像机内部参数与外部参数的乘积,其投影关系表示为:

投影矩阵

 

图象上点的位置与其在空间物体表面相应点的几何位置有关。两者的对应关系通过投影矩阵来度量

      P1只与摄像机的内部结构有关,因此称为摄像机的内部参数矩阵,P2完全由摄像机相对于世界坐标系的位置和方向决定,称为摄像机的外部参数矩阵。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值