单目相机标定___二、程序

单目相机标定___二、程序,第1张

相侍岁机的标定,现在基本上都是用张正友标定法,OpenCV中这些模块和函数也非常成熟。

只要照着这个流程做下来就行了。

当然首先要弄一个棋盘老液睁格做标定板,标定图片需要使用标定板在不同位置、不同角度、不同姿态下拍摄,最少需要3张,以埋空10~20张为宜。

相机内参数(包括焦距、主点、畸变系数、扭曲因子)是由相机物理属性决定的。

按道理如果不改变相机的物理属性,标定结果应该是不变的。

但是每次标定的结果为什么又会变化呢?

不外有两种原因:

1、相机标定过程中可能受收到很多外部物理因素(像差、散焦、传感器噪声、量化误差等)的影响。

2、所用算法的稳定性较差,当前在相机标定领域公认的健壮性较好的优化算誉败敏法枯饥仍然是bundle adjustment(光束平差法)。

可庆枝以从上述两个方面找找每次试验结果会差别很大的原因。

估计是算法的稳定性差的可能性大!

标定通过相机的标定得到相机内参和外参和畸变系数。内参矩阵一般用A或者M1表示。内参矩阵含有相机的固有参数(fx,fy,Cx,Cy),fx,fy(单位:像素宏知)与dx,dy(x,y方向一个像素灶陪的物理尺寸,单位:毫米/像素)和焦距f(单位:毫米)有关。Cx,Cy为图像原点相对于光心成像点的纵横偏移量(单位:像素)。相机坐标系转图像坐标系3D恢复外参矩阵一般用[R|T]表示,R表示旋转矩阵,T为平移矩阵。不同的棋盘图对应不同的旋转矩阵和平移矩阵。因为每一副图像对应的世界坐标系相对应与相机坐标系是不一样的。世界坐标系转相机坐标系图像校正(倾斜,平移)畸变系数一般用[p1,p2,p3,k1,k2]表示,p1,p2,p3是相机的径向畸变系数,k1,k2是相机的切向畸变系数。图像矫正(T型畸变,鱼眼图像等)标定步骤拍摄棋盘图,越多越好,一般10张就可以,10张必须符合所有角点都能检测到才算合格棋盘图。标定程序计算并保存相机内参和外参和畸变系数矩阵,运用三个矩阵解决实际问题隐绝蠢。只要相机的角度和焦距固定,位置可以移动,那么内参矩阵和畸变系数是不会改变的。注意:单目标定的外参矩阵,运用只能对应相应的棋盘的世界坐标系。双目标定可以确定唯一的外参矩阵。坐标系相机坐标系以光心为相机坐标系的原点,以平行于图像的x和y方向为Xc轴和Yc轴,Zc轴和光轴平行,Xc,Yc,Zc互相垂直,单位是长度单位.图像物理坐标系可以认为是相机坐标系z轴方向的投影图。以主光轴和图像平面交点为坐标原点,注意:不一定是图像的中心点,根据Cx和Cy知道偏移了多少像素。图像物理坐标系x和y方向单位是长度单位。图像坐标系以主光轴和图像平面交点为坐标原点,x和y方向单位是像素单位。世界坐标系物体在真实世界中的坐标,比如黑白棋盘格的世界坐标系原点定在第一个棋盘格的顶点,Xw,Yw,Zw互相垂直,Zw方向就是垂直于棋盘格面板的方向。可见世界坐标系是随着物体的大小和位置变化的,单位是长度单位。只要棋盘格的大小决定了,无论板子怎么动,棋盘格角点坐标一般就不再变动(因为是相对于世界坐标系原点的位置不变),且认为是Zw=0。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8265467.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存