一、概念
1.内参和外参
图和内容参考相机内参标定究竟标了什么?相机内参外参保姆级教程 - 知乎 (zhihu.com)
(14条消息) 相机模型-----内参、外参、标定、例子_相机内参数矩阵举例_纳百川@容苍穹的博客-优快云博客
图1
了解标定,先要明白图像处理中的四个坐标系(14条消息) 图像处理——4个坐标系及相关转换图像像素坐标系 图像物理坐标系 相机坐标系 世界坐标系_MengYa_DreamZ的博客-优快云博客
相机内参的标定是为了建立像素坐标系和现实坐标系之间的关系:
1)从相机坐标系到图像坐标系
如图2,P表示的是相机坐标系的P点位置,p表示的是图像坐标系下P点的位置 ,由相似三角形的推导可以得到。
其中f是相机的焦距。
,
图2
2)从图像坐标系到像素坐标系
然而在程序中获取的是像素坐标系下的点的位置,如图3,需要建立像素坐标系和图像坐标系之间的关系:
其中dx、dy表示x、y方向上1mm(单位长度)包含的像素个数。
图3
3)内参矩阵1
由1)和2)得到相机的内参矩阵K:
其中,fx=f/dx;fy=f/dy
图4
4)内参矩阵2
如果考虑畸变:
畸变分为两种,径向畸变和切向畸变,径向畸变是因为透镜在不同位置对光线折射程度不同而产生的,可以分为桶形畸变和枕形畸变。切向畸变分为薄透镜畸变和离心畸变。
图5
图6
径向畸变可以用泰勒展开式来修正:(r表示该点距成像中心的距离)
切向畸变修正公式:
总结起来可以得到如下的畸变修正公式相机径向和切向畸变及去畸变 - 知乎 (zhihu.com)其中k1、k2、k3、p1、p2为畸变系数,对于廉价的网络摄像头,我们一般使用前两个径向畸变参数 k1,k2 就足够了。对于高度畸变的相机如鱼眼镜头,我们可以使用第三个径向畸变参数项 k1,k2,k3。
图7
像素坐标系的u、v轴和图像坐标系的x、y轴可能不平行,此时需要对2)中得到的矩阵进行修正:最详细、最完整的相机标定讲解_畸变 (sohu.com)