Halcon标定文件的生成

 

halcon标定图像生成 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标定板规格

halcon标定图像生成 halcon生成标定描述文件_边距_02

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生成标定描述文件_边距_03

上图即为我自行制作的标定板的图样。

下面我具体介绍一下,如何制作halcon的标准标定板

方法一:用halcon软件自动生成的.ps文件来制作标定板。

    这个也是最简单有效的方法。

    打开halcon 的HDevelop软件,调用算子:

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

标定板的材料也有一定的要求,请参看《如何进行图形校正》