计算机视觉——相机定位

一、相机标定

1.1原理

首先先简单的了解一下相机标定的原理。
摄像机标定(Camera calibration)简单来说是从世界坐标系换到图像坐标系的过程,也就是求最终的投影矩阵 P 的过程。

一般来说,标定的过程分为两个部分:

第一步是从世界坐标系转换为相机坐标系,这一步是三维点到三维点的转换,包括 R,t (相机外参)等参数;
第二部是从相机坐标系转为图像坐标系,这一步是三维点到二维点的转换,包括 K(相机内参)等参数;

1.2世界坐标系转换为相机坐标系

在这里插入图片描述
公式表达如下:
在这里插入图片描述
其中:在这里插入图片描述

1.3相机坐标系转换为图像坐标系

在这里插入图片描述
其中:

C CC 点表示camera centre,即相机的中心点,也是相机坐标系的中心点;

Z ZZ 轴表示principal axis,即相机的主轴;

p pp 点所在的平面表示image plane,即相机的像平面,也就是图片坐标系所在的二维平面;

p pp 点表示principal point,即主点,主轴与像平面相交的点;

C CC 点到 p pp 点的距离,也就是右边图中的f ff 表示focal length,即相机的焦距;

像平面上的 x xx 和 y yy 坐标轴是与相机坐标系上的 X XX 和 Y YY 坐标轴互相平行的;

相机坐标系是以 X XX, Y YY, Z ZZ三个轴组成的且原点在 C CC 点,度量值为米(m);

像平面坐标系是以 x xx,y yy(小写)两个轴组成的且原点在 p pp 点,度量值为米(m);

图像坐标系一般指图片相对坐标系,在这里可以认为和像平面坐标系在一个平面上,不过原点是在图片的角上,而且度量值为像素的个数(pixel);

通过对上面坐标系的介绍,可以得到以下的转换公式:
在这里插入图片描述
加上偏移量:在这里插入图片描述
在这里,图形坐标系的原点是图片的左下角,所以可以得到:
在这里插入图片描述
最后,可以得到矩阵K,就是相机内参:在这里插入图片描述
投影矩阵P(在这里可以认为旋转矩阵 R 为单位矩阵 I,平移矩阵 t 都为0):在这里插入图片描述

1.4最终的转换式

从上面两个转换的过程,我们可以得到从世界坐标轴转换到图像的过程可以把投影矩阵P表示为:在这里插入图片描述
在这里插入图片描述
在这里,K KK 一般称为相机内参(intrinsic parameters),描述了相机的内部参数,包括焦距 f ff、主点 p pp 的位置、以及像素与真实环境的大小比例等,这个是固有属性,是提供好的;R RR 和 t tt 称为相机外参(extrinsic parameters),R RR 在这里是旋转矩阵,可以转换为三维的旋转向量,分别表示绕x xx,y yy,z zz 三个轴的旋转角度,t tt 目前就是一个平移向量,分别表示在x xx,y yy,z zz 三个方向上的平移量。

1.5流程

相机标定的流程可以简单的表述为:

1.准备图片。这里要注意,拍摄不同角度的图片时只需要对焦一次就好了,如果反复对焦,得到的每张图片的焦距就会一直变化。
2.对每张图片提取角点信息
3.对每张图片,进一步提取亚像素角点信息
4.相机标定
5.畸变矫正

二、实验

2.1 拍摄图片

将打印出的纸固定放到一个平面上,使用同一相机从不同的位置,不同的角度,拍摄标定板的多张照片(我拍了10张)手机型号是华为P20
在这里插入图片描述

2.2标定相机

在这里插入图片描述

2.3实验结果

newcameramtx外参:
[[1.09543237e+03 0.00000000e+00 1.15161557e+03]
[0.00000000e+00 9.76493347e+02 6.81863424e+02]
[0.00000000e+00 0.00000000e+00 1.00000000e+00]]
dist畸变值:
[[-5.31418095e-01 3.61316843e+00 3.41621845e-03 -1.67261358e-02
-9.20291030e+00]]
newcameramtx旋转(向量)外参:
[array([[0.02577749],
[0.40862485],
[1.52657479]]), array([[-0.79306228],
[ 0.77094312],
[ 1.37578838]]), array([[0.00179755],
[0.54632508],
[0.02013088]]), array([[ 0.04196639],
[-0.22174524],
[-0.00851909]]), array([[ 0.04196639

  • 3
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值