Halcon标定文件的生成
图一
Halcon标定文件的生成,需要有以下几个步骤:
1.创建一个标定数据模板,由create_calib_data算来完成。
2.指定相机的类型,初始化相机内部参数,由set_calib_data_cam_param算子来完成。
3.指定标定板的描述文件,由set_calib_data_calib_object算子完成。
4.收集观察数据,有算子set_calib_data_observ_points完成。也就是收集标定板上圆点的中心坐标,跟各个校正板的位置姿态。
5.配置校正过程。由算子set_calib_data完成。
6.将数据整合进行标定计算。calibrate_cameras
7.获得标定参数。get_calib_data
8.记录标定参数,write_cam_par
StartCamPar := [0.016, 0, 0.0000074, 0.0000074, 326, 247, 652, 494]
解释一下这个数组的意思。
面阵相机有14或18个参数(根据想相机的畸变模式),对于线阵相机有17个参数。这些参数可以分开为内部相机参数、外部相机参数。
面阵相机(division模式):
Focus(焦距):远焦镜头镜头焦距的长度
Kappa:扭曲系数
Sx,Sy:两像素间距
Cx,Cy:中心点坐标
Whith,Height:图像的宽高
面阵相机(polynomia模式):
Focus(焦距):远焦镜头镜头焦距的长度
K1, K2, K3, P1,P2:扭曲系数
Sx,Sy:两像素间距
Cx,Cy:中心点坐标
Whith,Height:图像的宽高
线阵相机不做具体介绍
Halcon标定板规格
30*30 规格的标定板的规格
黑色圆点行数: 7
黑色圆点列数: 7
外边框长度: 30mm*30mm
内边框长度: 28.125mm*28.125mm 即:黑色边框线宽为一个圆点半径(0.9375)
黑色圆点半径: 0.9375mm
圆点中心间距: 3.75mm
裁剪宽度: 30.75mm*30.75mm 即:由黑色边框向外延伸0.375mm
边角: 由黑色外边框向内缩进一个中心边距的长度
40*40 规格的标定板的规格
黑色圆点行数: 7
黑色圆点列数: 7
外边框长度: 40mm*40mm
内边框长度: 37.5mm*37.5mm 即:黑色边框线宽为一个圆点半径(0.125)
黑色圆点半径: 0.125mm
圆点中心间距: 5mm
裁剪宽度: 21mm*21mm 即:由黑色边框向外延伸0.5mm
边角: 由黑色外边框向内缩进一个中心边距的长度
50*50 规格的标定板的规格
黑色圆点行数: 7
黑色圆点列数: 7
外边框长度: 50mm*50mm
内边框长度: 46.875mm*46.875mm 即:黑色边框线宽为一个圆点半径(1.5625)
黑色圆点半径: 1.5625mm
圆点中心间距: 6.25mm
裁剪宽度: 51.25mm*51.25mm 即:由黑色边框向外延伸0.625mm
边角: 由黑色外边框向内缩进一个中心边距的长度
60*60 规格的标定板的规格
黑色圆点行数: 7
黑色圆点列数: 7
外边框长度: 60mm*60mm
内边框长度: 56.25mm*56.25mm 即:黑色边框线宽为一个圆点半径(1.875)
黑色圆点半径: 1.875mm
圆点中心间距: 7.5mm
裁剪宽度: 61.5mm*61.5mm 即:由黑色边框向外延伸0.75mm
边角: 由黑色外边框向内缩进一个中心边距的长度
Halcon如何制作标定板
上图即为我自行制作的标定板的图样。
下面我具体介绍一下,如何制作halcon的标准标定板
方法一:用halcon软件自动生成的.ps文件来制作标定板。
这个也是最简单有效的方法。
gen_caltab( : : XNum,YNum,MarkDist,DiameterRatio,CalTabDescrFile,CalTabPSFile : )
XNum 每行黑色标志圆点的数量。
YNum 每列黑色标志圆点的数量。
MarkDist 两个就近黑色圆点中心之间的距离。
DiameterRatio 黑色圆点半径与圆点中心距离的比值。
CalTabDescrFile标定板描述文件的文件路径(.descr)。
CalTabPSFile 标定板图像文件的文件路径(.ps),如图1
然后复位(F2),点击运行(F5)通过软件Gsview打开,按1:1比例打印,OK!
备注一个30*30的标准标定板的halcon源代码。
gen_caltab(7,7,0.00375,0.5,'F:/halcon程序/gencaltab/30_30.descr','F:/halcon程序/gencaltab/40_40.ps')
规格的标定板的规格
黑色圆点行数: 7
黑色圆点列数: 7
外边框长度: 30mm*30mm
内边框长度: 28.125mm*28.125mm 即:黑色边框线宽为一个圆点半径(0.9375)
黑色圆点半径: 0.9375mm
圆点中心间距: 3.75mm
裁剪宽度: 30.75mm*30.75mm 即:由黑色边框向外延伸0.375mm
边角: 由黑色外边框向内缩进一个中心边距的长度
方法二:用halcon软件自动生成的.descr文件来制作标定板。
打开halcon 的HDevelop软件,调用算子:
gen_caltab生成一个.descr的文件,用写字板打开(注意要用写字板,记事本打开会有一些数据不可见,一般windowsXP在C:\Program Files\Windows NT\Accessories就有写字板软件wordpad.exe)打开后的文件基本如下:
以40*40为例:
# Plate Description Version 2
# HALCON Version 10.0 -- Mon Dec 19 11:08:07 2011
# Description of the standard calibration plate 标准标定板的描述
# used for the CCD camera calibration in HALCON
# (generated by gen_caltab) (由)gen_caltab算子生成
#
#
# 7 rows x 7 columns 7行*7列
# Width, height of calibration plate [meter]: 0.04, 0.04
标定板的宽和高:0.04米,0.04米
# Distance between mark centers [meter]: 0.005
标志圆点中心间距:0.005米
# Number of marks in y-dimension (rows)
r 7
Y方向标志圆点的数量。
# Number of marks in x-dimension (columns)
c 7
X方向标志圆点的数量。
# offset of coordinate system in z-dimension [meter] (optional):
z 0
Z坐标偏移
# Rectangular border (rim and black frame) of calibration plate
标定板的矩形边框(边缘和黑色边框)
# rim of the calibration plate (min x, max y, max x, min y) [meter]:
o -0.0205 0.0205 0.0205 -0.0205
标定板的剪切边缘【-0.0205 0.0205 0.0205 -0.0205】(以标定板中心为坐标圆点)
# outer border of the black frame (min x, max y, max x, min y) [meter]:
i -0.02 0.02 0.02 -0.02
黑色边框的外边缘【-0.02 0.02 0.02 -0.02】
# triangular corner mark given by two corner points (x,y, x,y) [meter]
# (optional):
t -0.02 -0.015 -0.015 -0.02
三角形标志【-0.02 -0.015 -0.015 -0.02】
# width of the black frame [meter]:
w 0.00125
黑色边框线的宽度:0.00125米。
# calibration marks: x y radius [meter]
一下是各个矫正板黑色圆点在标定板上的坐标(共7*7个)
# calibration marks at y = -0.015 m
-0.015 -0.015 0.00125
-0.01 -0.015 0.00125
-0.005 -0.015 0.00125
0 -0.015 0.00125
0.005 -0.015 0.00125
0.01 -0.015 0.00125
0.015 -0.015 0.00125
# calibration marks at y = -0.01 m
-0.015 -0.01 0.00125
-0.01 -0.01 0.00125
-0.005 -0.01 0.00125
0 -0.01 0.00125
0.005 -0.01 0.00125
0.01 -0.01 0.00125
0.015 -0.01 0.00125
# calibration marks at y = -0.005 m
-0.015 -0.005 0.00125
-0.01 -0.005 0.00125
-0.005 -0.005 0.00125
0 -0.005 0.00125
0.005 -0.005 0.00125
0.01 -0.005 0.00125
0.015 -0.005 0.00125
# calibration marks at y = 0 m
-0.015 0 0.00125
-0.01 0 0.00125
-0.005 0 0.00125
0 0 0.00125
0.005 0 0.00125
0.01 0 0.00125
0.015 0 0.00125
# calibration marks at y = 0.005 m
-0.015 0.005 0.00125
-0.01 0.005 0.00125
-0.005 0.005 0.00125
0 0.005 0.00125
0.005 0.005 0.00125
0.01 0.005 0.00125
0.015 0.005 0.00125
# calibration marks at y = 0.01 m
-0.015 0.01 0.00125
-0.01 0.01 0.00125
-0.005 0.01 0.00125
0 0.01 0.00125
0.005 0.01 0.00125
0.01 0.01 0.00125
0.015 0.01 0.00125
# calibration marks at y = 0.015 m
-0.015 0.015 0.00125
-0.01 0.015 0.00125
-0.005 0.015 0.00125
0 0.015 0.00125
0.005 0.015 0.00125
0.01 0.015 0.00125
0.015 0.015 0.00125
标定板的材料也有一定的要求,请参看《如何进行图形校正》