find_caltab ( Image : Caltab : CalTabDescrFile, SizeGauss, MarkThresh, MinDiamMarks : )

Segment the standard calibration plate region in the image.

find_caltab is used to determine the region of a plane calibration plate with circular marks in the input image Image. First the input image is smoothed (see gauss_image); the size of the used filter mask is given by SizeGauss. Afterwards, a thresholding operator (see threshold) with minimum gray value MarkThresh and maximum gray value 255 is applied. Among the extracted connected regions the most convex region with almost correct number of holes (corresponding to the dark marks of the calibration plate) is selected. Holes with a diameter smaller than the expected size of the marks MinDiamMarks are eliminated to reduce the impact of noise. The number of marks is read from the calibration plate description file CalTabDescrFile. The complete explanation of this file can be found within the description of gen_caltab.


Parameters

Image (input_object)
image -> object : byte / uint2
Input image.

Caltab (output_object)
region -> object
Output region.

CalTabDescrFile (input_control)
string -> string
File name of the calibration plate description.
Default value: 'caltab.descr'
List of values: 'caltab.descr', 'caltab_10mm.descr', 'caltab_30mm.descr', 'caltab_100mm.descr', 'caltab_200mm.descr'

SizeGauss (input_control)
integer -> integer
Filter size of the Gaussian.
Default value: 3
List of values: 0, 3, 5, 7, 9, 11

MarkThresh (input_control)
integer -> integer
Threshold value for mark extraction.
Default value: 112
List of values: 48, 64, 80, 96, 112, 128, 144, 160

MinDiamMarks (input_control)
integer -> integer
Expected minimal diameter of the marks on the calibration plate.
Default value: 5
List of values: 3, 5, 9, 15, 30, 50, 70


Example
* read calibration image
read_image(Image, 'calib-01') 
* find calibration pattern
find_caltab(Image, Caltab, 'caltab.descr', 3, 112, 5)

Result

find_caltab returns 2 (H_MSG_TRUE) if all parameter values are correct and an image region is found. The behavior in case of empty input (no image given) can be set via set_system(::'no_object_result',<Result>:) and the behavior in case of an empty result region via set_system(::'store_empty_region',<true/false>:). If necessary, an exception handling is raised.


Parallelization Information

find_caltab is reentrant and processed without parallelization.


Possible Predecessors

read_image


Possible Successors

find_marks_and_pose


See also

find_marks_and_pose, camera_calibration, disp_caltab, sim_caltab, caltab_points, gen_caltab


Module

Foundation



Copyright © 1996-2008 MVTec Software GmbH