使用Halcon对摄像机进行标定(单目)

标定原理

在图像处理过程中,由二维图像与世界坐系中物体的对应关系,才能由图像中物体的尺寸计算得到物体实际的尺寸,因此需要对摄像机进行标定。对摄像机标定的过程就是确定摄像机内参(主距、畸变、缩放比例因子,主点等)和外参(摄像机坐标系与世界坐标系之间的关系)


使用Halcon对摄像机进行标定(单目)_第1张图片
从世界坐标系到摄像机坐标系的转换属于刚性变换,取世界坐标系中一点Pw=(Xw,Yw,Zw)
T,对应于摄像机坐标系中的Pc= (Xc,Yc,Zc)T,则两点的关系式为:

Pc=R×Pw+T

式中T = (Tx,Ty,Tz),R = (α,β,γ),六个变量即为摄像机的外参数,决定了摄像机坐标系与世界坐标系之间的相对位置。
摄像机内参(f,k,Sx,Sy,Cx,Cy)决定了摄像机坐标系中的三维空间点到二维图像的投
影。若镜头没有畸变Pc投影到图像坐标系的坐标为(u,v),二者之间的关系为:


这里写图片描述

式中f表示焦距,Z表示目标物体距离摄像机的距离。镜头的畸变导致坐标u v发生改变,在计算机视觉应用中常用的镜头畸变是径向的畸变。


这里写图片描述

式中K表示镜头径向的畸变量级,u,v表示由于镜头畸变而得到的在成像平面上偏移了的投影点坐标。将成像平面上的投影点转换到图像坐标系(ICS)中


使用Halcon对摄像机进行标定(单目)_第2张图片

式中Sx,Sy是缩放比例因子,点(Cx,Cy)是图像的主点即投影中心在成像平面上的垂直投影。因此世界坐标系中点Pw与图像中点的对应关系由式(1)~(4)得出。

标定过程

由上述公式可知,为了进行摄像机标定,需要已知足够多的世界坐标系三维空间点的坐标,找到在图像中对应的坐标,建立对应关系,即可求得相机的内外参数。平面标定板是最常用的标定工具,具有易操作、制作精确、适合背光照明的应用等优点。本实验采用的是60mm×60mm的圆点型标定板。由于进行摄像机标定的标定板的图像数量是影响摄像机参数准确度的主要因素。本实验中对标定板在不同位置(标定板绕x轴和y轴旋转或者将标定板放置在与摄像机不同距离的位置)拍摄20幅图像,图2为拍摄的部分标定板图像。然后利用HALCON图像处理软件对20幅图像处理,得到相机的内外参数。


使用Halcon对摄像机进行标定(单目)_第3张图片


使用Halcon对摄像机进行标定(单目)_第4张图片


使用Halcon对摄像机进行标定(单目)_第5张图片

相关Halcon算子

HALCON是一款强大的图像处理软件,内部自带功能强大的算子。处理过程中首先set_calib_data_calib_object设置标定模板句柄,利用find_caltab算子得到标定图像中的标定区域。find_marks_and_pose得到标志点的圆心坐标及标定板的初始位姿如图3所示,通过set_calib_data_observ_points把读取的标定点坐标与描述文件比较,结合相机外参不断修正相机标定模版句柄。通过calibrate _ cameras和get_calib_data得到摄像机内参数CamParam,如表1所示。标定误差为0.180101。标定板在不同位置,其与摄像机的相对位置不同即相机外参也不同。以其中一幅图像为例,利用算子get_calib_data可以获得摄像机相对于标定板的外参数FinalPose, 算子disp_caltab显示标定板坐标系,如图4所示。由于物体与标定板之间高度相差0.00138m,需要通过算子set_origin_pose (FinalPose, 0, 0, -0.00138, FinalPose)设定摄像机相对于物体的外参数。

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