一、相机标定介绍:
相机标定是进行视觉测量和定位的基础工作之一,标定参数准确与否直接关系到整个系统的精度,为此根据自己项目中的经验及参考相关的商用视觉软件的做法将相机标定过程中标定图片的获取过程中需要注意的问题总结如下:
标定板拍摄的张数要能覆盖整个测量空间及整个测量视场,把相机图像分成四个象限,应保证拍摄的标定板图像均匀分布在四个象限中,且在每个象限中建议进行不同方向的两次倾斜,下图是一组推荐摆放方式图片。
标定图片的数量通常在10~25张之间,图像数量太少,容易导致标定参数不准确。
圆或者圆环特征的像素数尽量大于20,标定板的成像尺寸应大致占整幅画面的1/4
用辅助光源对标定板进行打光,保证标定板的亮度足够且均匀
标定板成像不能过爆,过爆会导致特征轮廓的提取的偏移,从而导致圆心提取不准确。
标定板特征成像不能出现明显的离焦距,出现离焦时可通过调整调整标定板的距离、光圈的大小和像距(对于定焦镜头,通常说的调焦就是指调整像距)。
标定过程,相机的光圈、焦距不能发生改变,改变需要重新标定。
张正有标定法:
**相机标定的目的:**获取摄像机的内参和外参矩阵(同时也会得到每一幅标定图像的选择和平移矩阵),内参和外参系数可以对之后相机拍摄的图像就进行矫正,得到畸变相对很小的图像。
**相机标定的输入:**标定图像上所有内角点的图像坐标,标定板图像上所有内角点的空间三维坐标(一般情况下假定图像位于Z=0平面上)。
**相机标定的输出:**摄像机的内参、外参系数。
二、标定步骤为:
- 准备标定图片
- 对每一张标定图片,提取角点信息
- 对每一张标定图片,进一步提取亚像素角点信息
- 在棋盘标定图上绘制找到的内角点(非必须,仅为了显示)
- 相机标定
- 对标定结果进行评价
- 查看标定效果——利用标定结果对棋盘图进行矫正
下面是对相机模型的简单介绍:
三、使用棋盘格标定
OpenCV使用棋盘格板进行标定(如下图),为了标定相机,我们需要输入一系列三维点和它们对应的二维图像点。在黑白相间的棋盘格上,二维图像点很容易通过角点检测找到。而对于真实世界中的三维点呢?由于我们采集中,是将相机放在一个地方,而将棋盘格定标板进行移动变换不同的位置,然后对其进行拍摄。所以我们需要知道(X,Y,Z)的值。但是简单来说,我们定义棋盘格所在平面为XY平面,即Z=0。对于定标板来说,我们可以知道棋盘格的方块尺寸