Operator Reference
gen_caltab (Operator)
gen_caltab
— Generate a calibration plate description file and a corresponding
PostScript file for a calibration plate with rectangularly arranged marks.
Signature
gen_caltab( : : XNum, YNum, MarkDist, DiameterRatio, CalPlateDescr, CalPlatePSFile : )
Description
gen_caltab
generates the description of a standard HALCON
calibration plate with rectangularly arranged marks. This calibration plate
consists of XNum
times YNum
black circular marks on a white
plane which are surrounded by a black frame.
The marks are arranged in a rectangular grid with YNum
and
XNum
equidistant rows and columns. The distances between these rows
and columns defines the parameter MarkDist
in meter. The marks'
diameter can be set by the parameter DiameterRatio
and is defined by
the equation .
Using a distance between marks of 0.01 m and a diameter ratio of 0.5, the width
of the dark surrounding frame becomes 8 cm, and the radius of the marks is set
to 2.5 mm. The coordinate system of the calibration plate is located in the
barycenter of all marks, its z-axis points into the calibration plate, its
x-axis to the right, and its y-axis downwards.
The black frame of the calibration plate encloses a triangular black orientation mark in the top left corner to uniquely determine the position of the calibration plate. The width and the height of the generated calibration plate can be calculated with the following equations:
The file CalPlateDescr
contains the calibration plate description,
e.g., the number of rows and columns of the calibration plate, the geometry
of the surrounding frame (see find_caltab
), the triangular
orientation mark, an offset of the coordinate system to the plate's surface
in z-direction, and the x,y coordinates and the radius of all calibration
plate marks given in the calibration plate coordinate system. The definition
of the orientation and the offset, indicated by t and z, is optional and can
be commented out. The default HALCON file extension for the calibration
plate description is 'descr'. A file generated by gen_caltab
looks
like the following (comments are marked by a '#' at the beginning of a
line):
# Plate Description Version 2 # HALCON Version 7.1 -- Fri Jun 24 16:41:00 2005 # Description of the standard calibration plate # used for the camera calibration in HALCON # (generated by gen_caltab) # # # 7 rows x 7 columns # Width, height of the black frame [meter]: 0.1, 0.1 # Distance between mark centers [meter]: 0.0125 # Number of marks in y-dimension (rows) r 7 # Number of marks in x-dimension (columns) c 7 # offset of coordinate system in z-dimension [meter] (optional): z 0 # 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.05125 0.05125 0.05125 -0.05125 # outer border of the black frame (min x, max y, max x, min y) [meter]: i -0.05 0.05 0.05 -0.05 # triangular corner mark given by two corner points (x,y, x,y) [meter] # (optional): t -0.05 -0.0375 -0.0375 -0.05 # width of the black frame [meter]: w 0.003125 # calibration marks: x y radius [meter] # calibration marks at y = -0.0375 m -0.0375 -0.0375 0.003125 -0.025 -0.0375 0.003125 -0.0125 -0.0375 0.003125 -3.46945e-018 -0.0375 0.003125 0.0125 -0.0375 0.003125 0.025 -0.0375 0.003125 0.0375 -0.0375 0.003125 # calibration marks at y = -0.025 m -0.0375 -0.025 0.003125 -0.025 -0.025 0.003125 -0.0125 -0.025 0.003125 -3.46945e-018 -0.025 0.003125 0.0125 -0.025 0.003125 0.025 -0.025 0.003125 0.0375 -0.025 0.003125 # calibration marks at y = -0.0125 m -0.0375 -0.0125 0.003125 -0.025 -0.0125 0.003125 -0.0125 -0.0125 0.003125 -3.46945e-018 -0.0125 0.003125 0.0125 -0.0125 0.003125 0.025 -0.0125 0.003125 0.0375 -0.0125 0.003125 # calibration marks at y = -3.46945e-018 m -0.0375 -3.46945e-018 0.003125 -0.025 -3.46945e-018 0.003125 -0.0125 -3.46945e-018 0.003125 -3.46945e-018 -3.46945e-018 0.003125 0.0125 -3.46945e-018 0.003125 0.025 -3.46945e-018 0.003125 0.0375 -3.46945e-018 0.003125 # calibration marks at y = 0.0125 m -0.0375 0.0125 0.003125 -0.025 0.0125 0.003125 -0.0125 0.0125 0.003125 -3.46945e-018 0.0125 0.003125 0.0125 0.0125 0.003125 0.025 0.0125 0.003125 0.0375 0.0125 0.003125 # calibration marks at y = 0.025 m -0.0375 0.025 0.003125 -0.025 0.025 0.003125 -0.0125 0.025 0.003125 -3.46945e-018 0.025 0.003125 0.0125 0.025 0.003125 0.025 0.025 0.003125 0.0375 0.025 0.003125 # calibration marks at y = 0.0375 m -0.0375 0.0375 0.003125 -0.025 0.0375 0.003125 -0.0125 0.0375 0.003125 -3.46945e-018 0.0375 0.003125 0.0125 0.0375 0.003125 0.025 0.0375 0.003125 0.0375 0.0375 0.003125
CalPlatePSFile
contains the corresponding
PostScript description of the calibration plate.
Attention
Depending on the accuracy of the used output device (e.g., laser printer),
the printed calibration plate may not match the values in the
calibration plate description file CalPlateDescr
exactly.
Thus, the coordinates of the calibration marks in the calibration
plate description file may have to be corrected!
Execution Information
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
Parameters
XNum
(input_control) integer →
(integer)
Number of marks in x direction.
Default: 7
Suggested values: 5, 7, 9
Recommended increment: 1
Restriction:
XNum > 1
YNum
(input_control) integer →
(integer)
Number of marks in y direction.
Default: 7
Suggested values: 5, 7, 9
Recommended increment: 1
Restriction:
YNum > 1
MarkDist
(input_control) real →
(real)
Distance of the marks in meters.
Default: 0.0125
Suggested values: 0.1, 0.0125, 0.00375, 0.00125
Restriction:
0.0 < MarkDist
DiameterRatio
(input_control) real →
(real)
Ratio of the mark diameter to the mark distance.
Default: 0.5
Suggested values: 0.5, 0.55, 0.6, 0.65
Restriction:
0.0 < DiameterRatio < 1.0
CalPlateDescr
(input_control) filename.write →
(string)
File name of the calibration plate description.
Default: 'caltab.descr'
List of values: 'caltab.descr'
File extension:
.descr
CalPlatePSFile
(input_control) filename.write →
(string)
File name of the PostScript file.
Default: 'caltab.ps'
File extension:
.ps
Example (HDevelop)
* Create calibration plate with width = 80 cm. gen_caltab( 7, 7, 0.1, 0.5, 'caltab.descr', 'caltab.ps')
Result
gen_caltab
returns 2 (
H_MSG_TRUE)
if all parameter values are
correct and both files have been written successfully. If necessary,
an exception is raised.
Possible Successors
Alternatives
See also
find_caltab
,
find_marks_and_pose
,
camera_calibration
,
disp_caltab
,
sim_caltab
Module
Foundation