利用 Halcon软件自制标定板
参考博客:
halcon相机标定及图像矫正
Halcon学习 标定助手
关键算子:
gen_caltab
( : : XNum, YNum, MarkDist, DiameterRatio, CalPlateDescr, CalPlatePSFile : )
为具有矩形排列标记的标定板生成标定板描述文件和相应的后记文件。
该算子可以制作所需的标定板参数文件 Caltab.descr 和标定板图像文件 Caltab.ps。
参数:
输入:
-
XNum
X方向的标记点数。
默认值:7
建议值:5、7、9
建议增加:1
限制:XNum > 1 -
YNum
Y方向的标记点数。
默认值:7
建议值:5、7、9
建议增加:1
限制:YNum > 1 -
MarkDist
标记的距离(米)。
默认值:0.0125
建议值:0.1、0.0125、0.00375、0.00125
限制:0.0 < MarkDist -
DiameterRatio
标记直径与标记距离的比值。
默认值:0.5
建议值:0.5、0.55、0.6、0.65
限制:0.0 < diameter atio < 1.0
输出:
-
CalPlateDescr
标定板名称说明。
默认值:“caltab.descr”
值列表:‘caltab.descr’, ‘caltab_100mm.descr’, ‘caltab_10mm.descr’, ‘caltab_200mm.descr’, ‘caltab_30mm.descr’
文件扩展名:.descr -
CalPlatePSFile
PostScript文件的文件名。
默认值:“caltab.ps”
文件扩展名:.ps
描述:
gen_caltab生成带有矩形标记的标准HALCON校准板的描述。此校准板由一个黑色框架包围的白色平面上的XNum乘以YNum黑色圆形标记组成。这些标记被安排在一个具有YNum和XNum等距行和列的矩形网格中。这些行和列之间的距离以米为单位定义参数MarkDist。
标记的直径可由参数diameter设置,并由公式 ==diameter = MarkDist * diameter ==定义。
使用0.01 m的标记和0.5的直径比之间的距离,黑边框的宽度变为8厘米,标记的半径设置为2.5 mm。校准板的坐标系位于所有标记的重心,其z轴指向校准板,其x轴向右,其y轴向下。
校准板CalPlateDescr包含的文件描述,例如:行和列的数量校准板,周围的边框(见find_caltab),三角形方向标记,在z方向上坐标系到平板表面的偏移量, 标定板坐标系中给出的所有标定板的x、y坐标和半径。由 t 和 z 表示的方向和偏移量的定义是可选的,可以注释掉。校准盘描述的默认HALCON文件扩展名是“descr”。gen_caltab生成的文件如下所示(注释在行首用’#'标记):
例子:
按以下生成的命令 :
gen_caltab (9, 9, 0.015, 0.5, 'caltab.descr', 'caltab.ps')
- 1.标定板参数文件 Caltab.descr 可以用记事本打开,内容见下;
- 2.标定板图像Caltab.ps文件可以用 Photoshop打开,图片见下。
解释:
图像尺寸的计算方式:按上述文件参数为标定板的点阵式 9*9的,每个点之间的间距是
0.015米,原点直径与每个点之间距离的比值为 0.5。最后两个文件时输出,可以通过后面的
文件夹符号来改变存储位置。或者用./’caltab.descr’的方式存在当前目录下。
- 3.标定板黑边外延到黑边外延的距离计算式如下,所以我们标定板为150mm*150mm:
//标定板原点直径
DiameterRatio*MarkDist=0.015*1000*0.5=7.5 mm
//本文参数导出的标定板尺寸
(Xnum+1)*MarkDist*1000 =(9+1)*0.015*1000=150 mm
//但是算上白边的整个宽度为 :
(Xnum+1)*MarkDist*