摄像机标定程序使用方法
摄像机内部参数标定 一、材料准备 1 准备靶标: 根据摄像头的工作距离,设计靶标大小。使靶标在规定距离范围里,尽量全屏显示在摄像头图像内。 注意:靶标设计、打印要清晰。 2图像采集: 将靶标摆放成各种不同姿态,使用左摄像头采集N幅图像。尽量保存到程序的debug->data文件夹内,便于集中处理。 二、角点处理(Process菜单) 1 准备工作: 在程序debug文件夹下,建立data,left,right文件夹,将角探测器模板文件target.txt复制到data文件夹下,便于后续处理。 2 调入图像: File->Open 打开靶标图像 3 选取角点,保存角点: 点击Process->Prepare Extrcor ,点击鼠标左键进行四个角点的选取,要求四个角点在最外侧,且能围成一个正方形区域。每点击一个角点,跳出一个显示角点坐标的提示框。当点击完第四个角点时,跳出显示四个定位点坐标的提示框。 点击Process->Extract Corners ,对该幅图的角点数据进行保存,最好保存到debug->data-> left文件夹下。命名时,最好命名为cornerdata*.txt,*代表编号。 对其余N-1幅图像进行角点处理,保存在相同文件夹下。这样在left文件夹会出现N个角点txt文件。 三、计算内部参数(Calibration菜单) 1 准备工作: 在left文件夹中挑出5个靶标姿态差异较大的角点数据txt,将其归为一组。将该组数据复制到data文件夹下,重新顺序编号,此时,文件名必须为cornerdata*,因为计算参数时,只识别该类文件名。 2 参数计算: 点击Calibration->Cameral Calibrating,跳出该组图像算得的摄像机内部参数alpha、beta、gama、u0、v0、k1、k2七个内部参数和两组靶标姿态矩阵,且程序默认保存为文件CameraCalibrateResult.txt。 3 处理其余角点数据文件 在原来N个角点数据文件中重新取出靶标姿态较大的5个数据文档,重复步骤1和2;反复取上M组数据,保存各组数据。 注意:在对下一组图像进行计算时,需要将上一组在data文件夹下的5个数据删除。 四、数据精选 1 将各组内部参数计算结果进行列表统计,要求|gama|Wvmeas Target进入归一化对话框,点击Read camera intra param.加载左摄像头的内部参数文件CameraCalibrateResult.txt,点击Read feature point.加载左图像的角点文件cornerdata1txt,点击Emendate distortion and Normalize coorditiate,获得单幅图像的归一化结果,跳出保存文件对话框,命名为left_norm1,并保存到文件夹leftnorm_all文件夹中。 由于左摄像头图像有N个cornerdata文件,故此操作重复进行N次,保存为N个left_norm*.txt文件 按此方法对右摄像头的角点数据进行归一化处理,结果保存到rightnorm_all文件夹中,且分别命名为right_norm*.txt。 三、计算外部参数 1打开软件UltraEdit,点击文件->新建,打开一个空白文档,点击快捷图标:列块模式,将数据按列输入。 2在leftnorm_all和rightnorm_all中分别挑出5个形态差异比较大的归一化文件(共计10个),先将左摄像头的5个归一化文件按列粘贴到UltraEdit文档中,在其右侧粘贴右摄像头的5个归一化文件。将组合好的UltraEdit文档进行保存,且命名为normcoor.txt。 3点击Calibration->Mosaic,跳出Mosaic对话框,点击load file加载刚才保存的normcoor文件,点击calculate,出现摄像头的外部参数,即旋转矩阵和平移矩阵。系统默认保存为rt.txt。 4按此方法,重新选取左右各5组归一化文件进行外部参数的计算,从而得到M个外部参数文件rt.txt,为不产生冲突,请重新命名。 四、数据精选测量两摄像头之间的距离即光心距,T3分量,挑出各外部参数文档中平移矩阵的T1和22T?T 比较与光心距,选出两者最为接近的一组外部参数,即为最终标定结果。31五、检验参数准确性 (一) 匹配效果检验 1准备工作: 在左右摄像文件中,分别、随意抽出5个归一化文件,创建两个文件夹:leftnorm与rightnorm,将左摄像文件中的抽出的5个归一化文件,按顺序进行组合为left_norm1放到leftnorm中(不用在软件中进行,在txt中顺序放置即可),右摄像文件中的抽出的5个归一化文件组合为right_norm1,并复制到rightnorm中。 注意:需将第四步中精选后的参数文件(内外部矩阵参数)进行修改,使文本中仅剩数据项,重命名并保存。 2匹配处理: 点击Process->Match,挑出匹配对话框,点击“匹配,重构.”,加载修改后的外部参数矩阵,程序将自动处理刚才复制后的文件,处理后默认保存为MatchResult.txt。 3比较结果 MatchResult.txt中保存的是匹配后的坐标点,将原来挑出的左右共10个文件按列复制到UltraEdit中,比较匹配后的坐标点和源文件中的500个点,两者较为接近的话,匹配效果较好。 (二) 三维精度检验 1点击Calibration->Wvmeas Target,在跳出的对话框中点击Reco