3.3
摄像机标定
进行摄像机标定时,标定精度与图像数量有关,至少选择10~15幅。所选图像中标定板的位置应该能覆盖图像的4个角,因为角落处的镜头畸变最大,这样能得到较准确的畸变系数k。
标定过程中,由于使用的是平面标定对象,还会存在这样的问题:如果标定对象平行于成像平面,f和tz的解不唯一。解决方法是在最优化过程中保持Sy不变。
基于HALCON的标定过程如图4所示,read_image(:Image:FileName:)读取名称为FileName的图像Image;
并通过重投影法分析标定结果的平均误差。
e=
Err=e
姨
Σ
i
Io(i)-Ip(i)
2
(4)(5)
式中:e表示均方误差;Io(i)表示原始图像上第i点的向量,Ip(i)表示重投影图像上第i点的向量,i∈(0,N);N表示标志点总数,例如利用10幅标定板图像进行标定,则
N=10×7×7;平均均方误差Err等于均方误差与标志点总数的比值。
结果如表1所示,效果较好,可以达到使用要求。
表1
f/mmk/(mm-2)Cx/mmCy/mmSx/μmSy/μmErr/%
17.0112-665.881160.511119.59915.2415.210.78
find_caltab(Image:Caltab:CalTabDescrFile,SizeGauss,MarkThresh,MinDiamMarks:)通过3.2节介绍的算法提取图像Images中标定板上的圆形标志来确定标定板的有效区域,效果如图5a所示;find_marks_and_pose(Image,
标定结果比较
相机参数第1组(10幅图像)第2组(20幅图像)第3组(40幅图像)
16.3667-633.210159.723119.52615.3615.380.53
16.0948-627.472159.501119.48015.4015.420.44
CalTabRegion::CalTabDescrFile,StartCamParam,StartThresh,DeltaThresh,MinThresh,Alpha,MinContLength,MaxDiamMarks:Rcoord,Ccoord,StartPose)确定标定板上圆形标志点的二维坐标,并得到摄像机外部参数的初始值,效果如图5b所示;camera_calibration(::NX,NY,NZ,Nrow,
startread_imagefind_caltabfind_marks_and_posecamera_calibrationwrite_cam_par
end
Ncol,StartCamParam,NstartPose,EstimateParams:CamParam,NfinalPose,Errors)计算出摄像机的所有参数,它是通过提供的初始参数为初始值,进行优化搜索获得误差最小化的过程;
5
小结
基于HALCON开发的摄像机标定程序在实际运用
中取得了很好的效果,标定结果精确、运算效率高、跨平台移植性好,操作简单,缩减了开发周期,可以有效地应用于各种计算机视觉系统中。参考文献:
[1][2][3]
李良福,陈卫东,冯祖仁,等.目标跟踪与定位中的视觉标定算法研究[J].应用光学,2008,29(4):481-486.张广军.机器视觉[M].北京:科学出版社,2005.
write_cam_par(::CamParam,CamParFile:)将标定结果写入CamParFile文件。
图4程序流程图
TSAIRY.Anefficientandaccuratecameracalibrationtechniquefor3Dmachinevision[EB/OL].[2009-12-20]./apps/pubs/default.aspx?id=66690.
[4]STEGERC,ULRICHM,WIEDEMANNC.Machinevisionalgorithmsandapplications[EB/OL].[2009-12-20]./Machine-Vision-Algorithms-Applications-Carsten/dp/3527407340#noop.
(a)确定有效区域
(b)确定二维坐标
图5标定效果
[5]FITZGIBBONA,PILUM,FISHERRB.Directleastsquarefittingofellipses[J].IEEETransactionsonPatternAnalysisandMachineIntelligence,1999,21(5):475-480.
笕
HALCON强大的图像处理能力,为摄像机自主标定提供了简单有效的方法。
4
实验结果分析
根据上述标定原理和开发步骤,在WindowsXP平
作者简介:
罗珍茜(1984-),女,硕士生,主研机器视觉;薛
雷,副教授;孙峰杰,硕士生;陆士清,硕士生;李长远,硕士生。责任编辑:任健男
收稿日期:2010-01-27
台下利用VC++6.0开发了一个基于HALCON8.2的摄像头标定程序,程序经过严格测试,运行稳定,在黑背景下截取3组数量不同的320×240的标定板图像用于标定,
电视技术
2010年第3404期(总第340期)