计算机视觉实验五:标定相机参数

相机需要标定的参数通常分为内参和外参两部分。外参确定了相机在某个三维空间中的位置和朝向,如:旋转、平移;旋转矩阵和平移矩阵共同描述了如何把点从世界坐标系转换到摄像机坐标系。至于内参,可以说是相机内部的参数,如:相机焦距、畸变系数、像主点坐标
下面给出了内参矩阵,需要注意的是,真实的镜头还会有径向和切向畸变,而这些畸变是属于相机的内参的。
摄像机内参矩阵:

    fx    s    x0
K =  0    fy   y0
     0    0    1

其中,fx/fy为焦距,一般情况下相等,x0,y0是主点坐标,s为坐标轴倾斜参数,理想情况下为0。

旋转矩阵:描述了世界坐标系的坐标轴相对于摄像机坐标轴的方向
平移矩阵:描述了在摄像机坐标系下,空间原点的位置

一、实验内容

1、打印一张棋盘
2、对棋盘格拍摄若干张图片(10-20张)
3、运用张正友方法进行标定
要有实验结果和实验原理阐述
记得标明手机型号

二、实验原理

1、在视觉测量中,需要进行的一个重要预备工作是定义四个坐标系的意义,即 摄像机坐标系 、 图像物理坐标系 、 像素坐标系 和 世界坐标系(参考坐标系) 。

①世界坐标系(world coordinate system):用户定义的三维世界的坐标系,为了描述目标物在真实世界里的位置而被引入。单位为m。

②相机坐标系(camera coordinate system):在相机上建立的坐标系,为了从相机的角度描述物体位置而定义,作为沟通世界坐标系和图像/像素坐标系的中间一环。单位为m。

③图像坐标系(image coordinate system):为了描述成像过程中物体从相机坐标系到图像坐标系的投影透射关系而引入,方便进一步得到像素坐标系下的坐标。 单位为m。

④像素坐标系(pixel coordinate system):为了描述物体成像后的像点在数字图像上(相片)的坐标而引入,是我们真正从相机内读取到的信息所在的坐标系。单位为个(像素数目)。

以下图示,说明从世界坐标系到像素坐标系(不考虑畸变)的转换关系
计算机视觉实验五:标定相机参数_第1张图片
计算机视觉实验五:标定相机参数_第2张图片
2、张正友方法原理阐述

1、标定平面到图像平面的单应性(Homography)
因为标定物是平面,所以我们可以把世界坐标系构造在 Z = 0 的平面上。然后进行单应性计算。令 Z = 0 可以将上式转换为如下形式 ( 直接截取论文中的推导 ) :
计算机视觉实验五:标定相机参数_第3张图片

H 是一个3x3的矩阵,并且有一个元素作为齐次坐标。因此,H有8个未知量待解 ( 可以分析一下, A 有5个未知量,后面的 [r1,r2,t] 有三个未知量,一共8个) 。

(X,Y) 作为标定物的坐标,可以由设计者人为控制,是已知量 。 (u,v) 是像素坐标,我们可以直接通过摄像机获得。一组对应的 (X,Y) => (u,v) 我们可以获得两组方程。

现在有 8个未知量 待求,所以至少要8个方程。所以至少需要4组对应的点。所以有 4组 (X,Y) => (u,v)就可以算出,图像平面到世界平面的 单应性矩阵H

2、利用约束条件求解内参矩阵A

从上面可知,应用4个点我们可以获得单应性矩阵H。但是,H是内参阵和外参阵的合体。我们想要最终分别获得内参和外参。所以需要想个办法,先把内参求出来。然后外参也就随之解出了。我们可以仔细的“观摩”一下下面的式子。
计算机视觉实验五:标定相机参数_第4张图片
上式中的 h1,h2 是通过求解单应性矩阵 H 求出来的,所以未知量只剩下 内参矩阵A 。 A中含有5个参数,如果需要完全解出来这5个未知量,则需要 3个不同的单应性矩阵H ( 因为 3个不同的单应性矩阵H在2个约束条件下可以产生6个方程 ) , 那么如何得到 3个不同的单应性矩阵H 呢? 那就是 3张不同的标定平面的照片, 我们大多是通过改变摄像机与标定板间的相对位置来获得不同的标定照片。( 如果用2张照片进行标定,就要舍去一个内参 r=0 )

3、利用内参矩阵A求解外参矩阵

已经有了内参矩阵A,通过下面的公式,就可以解出来,外参矩阵了。
计算机视觉实验五:标定相机参数_第5张图片

三、实验结果

手机型号:vivo x6 plus
1、matlab相机标定

1.1使用matlab工具箱Camera Calibration
计算机视觉实验五:标定相机参数_第6张图片
1.2点击add images,导入拍摄图片
计算机视觉实验五:标定相机参数_第7张图片
计算机视觉实验五:标定相机参数_第8张图片
1.3图片大小要一致,最好加入20张左右为佳,可以预览成功检测出棋盘格的图像,然后开始标定,点击Calibrate
计算机视觉实验五:标定相机参数_第9张图片
1.4平均误差图和外部参数(网格对于摄像机的相对坐标,即摄像机坐标系)
计算机视觉实验五:标定相机参数_第10张图片

计算机视觉实验五:标定相机参数_第11张图片

1.5导出相机参数
在这里插入图片描述
1.6在matlab工作空间里可以看到相机参数的属性
计算机视觉实验五:标定相机参数_第12张图片
1.7相机内参矩阵
计算机视觉实验五:标定相机参数_第13张图片
计算机视觉实验五:标定相机参数_第14张图片

2、OpenCV相机标定

待补充

参考博文:
张正友标定介绍 https://blog.csdn.net/heroacool/article/details/50286677
[图像]摄像机标定(2) 张正友标定推导详解https://blog.csdn.net/humanking7/article/details/44756235
相机标定——张正友棋盘格标定法https://blog.csdn.net/JennyBi/article/details/85764988

你可能感兴趣的:(计算机视觉)