摄像机标定程序使用方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、材料准备
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|<2,且gama为负,删掉不符合条件的数据。

2 挑出出现次数最高的一组数据。

一、材料准备
1靶标准备:
根据摄像头的工作距离,设计靶标大小。

使靶标在规定距离范围里,尽量全屏显示在摄像头图像内。

注意:靶标设计、打印要清晰。

2图像采集:
将两摄像头固定在支架上,此后不能改变两摄像头间的相对位置关系,如有改变,需重新对外部参数进行标定。

令靶标呈现N种不同的姿态,左右摄像头同一时刻对同一姿态进行图像采集,并在data 文件夹下创建两个小文件夹,最好命名为leftnorm_all和rightnorm_all用于存储原始图像和角点数据(cornerdata)。

3辅助软件准备:
安装文本编辑软件UltraEdit,附有序列号。

二、归一化处理(Calibration菜单的Wvmeas Target)
1角点处理
按照摄像头内部参数标定方法中的焦点处理方法,获得双目采集状态下左右摄像头图像的角点数据文件,同样命名为cornerdata*txt。

将摄像机内部参数文件CameraCalibrateResult.txt里的数据格式进行修改,使文本中仅剩下7个基本数据,删掉其他注释和靶标的姿态矩阵。

2归一化处理(Wvmeas Target)
点击Calibration->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,为不产生冲突,请重新命名。

四、数据精选
挑出各外部参数文档中平移矩阵的T1和T3分量,测量两摄像头之间的距离即光心距,比较2
321T T 与光心距,选出两者最为接近的一组外部参数,即为最终标定结果。

五、检验参数准确性
(一) 匹配效果检验
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 ,在跳出的对话框中点击Reconstruct...,加载任意一个组合后的normcoor.txt 文件,将显示500个匹配点的三维坐标值,默认保存在3Dcoordinate.txt 文件中。

2点击Calibration->Precision ,加载3Dcoordinate.txt ,将跳出50组(5对图像,每幅图像有10行、10列)在H 、V 两个方向上的棋盘格宽度,每个方向显示9个棋盘格,小方框实际宽度为9mm ,显示的棋盘格宽度越接近9mm 越好。

摄像机及机械臂标定(手眼标定)
一、材料准备
1标定目的:
摄像机根据匹配点能够算出一个三维坐标,但该三维坐标点是以摄像机空间坐标原点进行计算得出的,而机械臂有自己的坐标系,故匹配点在机械臂坐标系中的三维坐标点将不同于摄像机坐标系。

本标定将建立摄像机坐标系与机械臂坐标系之间的转换关系,从而得出机械臂坐标系下匹配点的三维空间坐标,便于机械臂进行空间目标采摘。

2靶标准备:
将靶标固定在机械臂末端,一般选择靶标为2×2大小的黑白相间棋盘式靶标。

固定左右摄像机相对位置,同时将摄像机固定在支架上,从而固定两摄像机与机械臂原点之间的相对位置关系。

3图像采集
引动机械臂到空间某一位置,左右摄像头同时进行图像采集,采集N对图像,并记下该点在机械臂坐标系下的空间坐标。

采集到的图像分别放在left和right文件夹下。

二、提取角点、归一化
1提取角点:
由于2×2靶标中除去最外面一圈点外,仅剩下中心一个点可以提取,故在点击Prepare ExtrCor时,仅需对中心一点进行选取,将跳出的角点坐标框中坐标值记下,放在名字为cornerdata*的txt文件中,保存到left文件夹中。

同理将right文件夹中的图像进行角点提取,并保存为相应的txt文件。

注意:Prcocess里的Extract Corners选项将失效,因为Extract Corners需要在选取四个角点的前提下进行角点提取,而小靶标中仅需选定中心一个点。

2归一化处理:
对角点处理后的文件分别进行归一化处理,处理过程同外部参数标定流程。

三、匹配处理
1准备工作
将左摄像头的归一化文件,全部顺序复制到一个left_norm1中,放于leftnorm文件夹中,同理将有摄像头的归一化文件,全部顺序复制到一个right_norm1中,放于rightnorm文件夹中。

将摄像机外部参数文件rt.txt进行修改,使文档仅剩数据项,另存为rt1.txt。

2匹配处理
点击Calibration->Match下的“匹配,重构...”,加载外部参数文档rt1.txt。

系统将默认保存为MatchResult.txt。

四、匹配点处理
将MatchResult中的匹配点与原左右归一化文件进行比较,去掉不一致的归一化文件(相对应的左右文件同时去掉,并删除原图像及角点文件)。

此外,将这些删掉图像对应的机械臂坐标点去掉。

五、重建摄像头坐标系下的三维坐标
1准备工作
将匹配点处理后的归一化文件按列放于软件中,生成normcoor.txt文件。

2点击Calibration-> Wvmeas Target,然后进入对话框,点击Reconstruct...,加载normcoor.txt。

生成匹配点的三维空间坐标(摄像机坐标系下),默认保存为3Dcoordinate.txt文档。

六、计算坐标转换矩阵
1准备工作:
将3Dcoordinate.txt文件中的坐标数据,与机械臂三维坐标数据按列复制到软件中,进行保存,暂且命名为3Dtranslation。

2计算转换矩阵
点击Mosaic,进入对话框后,点击load,加载3Dtranslation.txt文件,点击calculate,将计算出来摄像机坐标系到机械臂坐标系的转化关系矩阵。

相关文档
最新文档