disp_caltab T_disp_caltab DispCaltab DispCaltab (Operator)
Name
disp_caltab T_disp_caltab DispCaltab DispCaltab
— Project and visualize the 3D model of the calibration plate in the image.
Signature
void DispCaltab (const HTuple& WindowHandle , const HTuple& CalPlateDescr , const HTuple& CameraParam , const HTuple& CalPlatePose , const HTuple& ScaleFac )
void HWindow ::DispCaltab (const HString& CalPlateDescr , const HCamPar& CameraParam , const HPose& CalPlatePose , double ScaleFac ) const
void HWindow ::DispCaltab (const char* CalPlateDescr , const HCamPar& CameraParam , const HPose& CalPlatePose , double ScaleFac ) const
void HWindow ::DispCaltab (const wchar_t* CalPlateDescr , const HCamPar& CameraParam , const HPose& CalPlatePose , double ScaleFac ) const
(Windows only)
void HCamPar ::DispCaltab (const HWindow& WindowHandle , const HString& CalPlateDescr , const HPose& CalPlatePose , double ScaleFac ) const
void HCamPar ::DispCaltab (const HWindow& WindowHandle , const char* CalPlateDescr , const HPose& CalPlatePose , double ScaleFac ) const
void HCamPar ::DispCaltab (const HWindow& WindowHandle , const wchar_t* CalPlateDescr , const HPose& CalPlatePose , double ScaleFac ) const
(Windows only)
static void HOperatorSet .DispCaltab (HTuple windowHandle , HTuple calPlateDescr , HTuple cameraParam , HTuple calPlatePose , HTuple scaleFac )
void HWindow .DispCaltab (string calPlateDescr , HCamPar cameraParam , HPose calPlatePose , double scaleFac )
void HCamPar .DispCaltab (HWindow windowHandle , string calPlateDescr , HPose calPlatePose , double scaleFac )
Description
disp_caltab disp_caltab DispCaltab DispCaltab DispCaltab
is used to visualize the calibration marks and
the connecting lines between the marks of the used calibration plate
(CalPlateDescr CalPlateDescr CalPlateDescr CalPlateDescr calPlateDescr
) in the window specified by
WindowHandle WindowHandle WindowHandle WindowHandle windowHandle
. Additionally, the x- and y-axes of the
plate's coordinate system are printed on the plate's surface. For
this, the 3D model of the calibration plate is projected into the
image plane using the internal (CameraParam CameraParam CameraParam CameraParam cameraParam
) and external
camera parameters (CalPlatePose CalPlatePose CalPlatePose CalPlatePose calPlatePose
). Thereby the pose is in the form
, where
ccs denotes the camera coordinate system and
wcs the world coordinate system (see
Transformations / Poses
and “Solution Guide III-C - 3D Vision”
), thus
the pose of the calibration plate in camera coordinates.
The underlying camera model is described in
Calibration / Multi-View .
Typically, disp_caltab disp_caltab DispCaltab DispCaltab DispCaltab
is used to verify the result of the
camera calibration (see Calibration / Multi-View or
camera_calibration camera_calibration CameraCalibration CameraCalibration CameraCalibration
) by superimposing it onto the original
image. The current line width can be set by set_line_width set_line_width SetLineWidth SetLineWidth SetLineWidth
,
the current color can be set by set_color set_color SetColor SetColor SetColor
. Additionally, the
font type of the labels of the coordinate axes can be set by
set_font set_font SetFont SetFont SetFont
.
The parameter ScaleFac ScaleFac ScaleFac ScaleFac scaleFac
influences the number of supporting
points to approximate the elliptic contours of the calibration
marks. You should increase the number of supporting points, if the
image part in the output window is displayed with magnification (see
set_part set_part SetPart SetPart SetPart
).
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
WindowHandle WindowHandle WindowHandle WindowHandle windowHandle
(input_control) window →
HWindow , HTuple HTuple Htuple (handle) (IntPtr ) (HHandle ) (handle )
Window in which the calibration plate should be
visualized.
CalPlateDescr CalPlateDescr CalPlateDescr CalPlateDescr calPlateDescr
(input_control) filename.read →
HTuple HTuple Htuple (string) (string ) (HString ) (char* )
File name of the calibration plate description.
Default value:
'calplate_320.cpd'
"calplate_320.cpd"
"calplate_320.cpd"
"calplate_320.cpd"
"calplate_320.cpd"
List of values: 'calplate_10mm.cpd' "calplate_10mm.cpd" "calplate_10mm.cpd" "calplate_10mm.cpd" "calplate_10mm.cpd" , 'calplate_1200mm.cpd' "calplate_1200mm.cpd" "calplate_1200mm.cpd" "calplate_1200mm.cpd" "calplate_1200mm.cpd" , 'calplate_160mm.cpd' "calplate_160mm.cpd" "calplate_160mm.cpd" "calplate_160mm.cpd" "calplate_160mm.cpd" , 'calplate_20mm.cpd' "calplate_20mm.cpd" "calplate_20mm.cpd" "calplate_20mm.cpd" "calplate_20mm.cpd" , 'calplate_20mm_dark_on_light.cpd' "calplate_20mm_dark_on_light.cpd" "calplate_20mm_dark_on_light.cpd" "calplate_20mm_dark_on_light.cpd" "calplate_20mm_dark_on_light.cpd" , 'calplate_320mm.cpd' "calplate_320mm.cpd" "calplate_320mm.cpd" "calplate_320mm.cpd" "calplate_320mm.cpd" , 'calplate_40mm.cpd' "calplate_40mm.cpd" "calplate_40mm.cpd" "calplate_40mm.cpd" "calplate_40mm.cpd" , 'calplate_40mm_dark_on_light.cpd' "calplate_40mm_dark_on_light.cpd" "calplate_40mm_dark_on_light.cpd" "calplate_40mm_dark_on_light.cpd" "calplate_40mm_dark_on_light.cpd" , 'calplate_5mm.cpd' "calplate_5mm.cpd" "calplate_5mm.cpd" "calplate_5mm.cpd" "calplate_5mm.cpd" , 'calplate_640mm.cpd' "calplate_640mm.cpd" "calplate_640mm.cpd" "calplate_640mm.cpd" "calplate_640mm.cpd" , 'calplate_80mm.cpd' "calplate_80mm.cpd" "calplate_80mm.cpd" "calplate_80mm.cpd" "calplate_80mm.cpd" , 'calplate_80mm_dark_on_light.cpd' "calplate_80mm_dark_on_light.cpd" "calplate_80mm_dark_on_light.cpd" "calplate_80mm_dark_on_light.cpd" "calplate_80mm_dark_on_light.cpd" , 'caltab_100mm.descr' "caltab_100mm.descr" "caltab_100mm.descr" "caltab_100mm.descr" "caltab_100mm.descr" , 'caltab_10mm.descr' "caltab_10mm.descr" "caltab_10mm.descr" "caltab_10mm.descr" "caltab_10mm.descr" , 'caltab_200mm.descr' "caltab_200mm.descr" "caltab_200mm.descr" "caltab_200mm.descr" "caltab_200mm.descr" , 'caltab_2500um.descr' "caltab_2500um.descr" "caltab_2500um.descr" "caltab_2500um.descr" "caltab_2500um.descr" , 'caltab_30mm.descr' "caltab_30mm.descr" "caltab_30mm.descr" "caltab_30mm.descr" "caltab_30mm.descr" , 'caltab_650um.descr' "caltab_650um.descr" "caltab_650um.descr" "caltab_650um.descr" "caltab_650um.descr" , 'caltab_6mm.descr' "caltab_6mm.descr" "caltab_6mm.descr" "caltab_6mm.descr" "caltab_6mm.descr" , 'caltab_800mm.descr' "caltab_800mm.descr" "caltab_800mm.descr" "caltab_800mm.descr" "caltab_800mm.descr" , 'caltab_big.descr' "caltab_big.descr" "caltab_big.descr" "caltab_big.descr" "caltab_big.descr" , 'caltab_small.descr' "caltab_small.descr" "caltab_small.descr" "caltab_small.descr" "caltab_small.descr"
File extension: .cpd
, .descr
CameraParam CameraParam CameraParam CameraParam cameraParam
(input_control) campar →
HCamPar , HTuple HTuple Htuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)
Internal camera parameters.
CalPlatePose CalPlatePose CalPlatePose CalPlatePose calPlatePose
(input_control) pose →
HPose , HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
External camera parameters (3D pose of the calibration
plate in camera coordinates).
Number of elements: 7
ScaleFac ScaleFac ScaleFac ScaleFac scaleFac
(input_control) real →
HTuple HTuple Htuple (real) (double ) (double ) (double )
Scaling factor for the visualization.
Default value: 1.0
Suggested values: 0.5, 1.0, 2.0, 3.0
Recommended increment: 0.05
Restriction: 0.0 < ScaleFac
Example (HDevelop)
* Read image of calibration plate.
read_image (Image, 'calib/calib_single_camera_01')
get_image_size (Image, Width, Height)
* Create and setup the calibration model.
create_calib_data ('calibration_object', 1, 1, CalibDataID)
CalPlateDescr := 'calplate_80mm.cpd'
set_calib_data_calib_object (CalibDataID, 0, CalPlateDescr)
CamParam := ['area_scan_division', 0.008, -1500, 3.7e-6, 3.7e-6, \
640, 470, 1292, 964]
set_calib_data_cam_param (CalibDataID, 0, [], CamParam)
* Localize calibration plate in the image.
find_calib_object (Image, CalibDataID, 0, 0, 0, [], [])
get_calib_data_observ_pose (CalibDataID, 0, 0, 0, StartPose)
* Display calibration plate.
disp_caltab (WindowHandle, CalPlateDescr, CamParam, StartPose, 1)
Result
disp_caltab disp_caltab DispCaltab DispCaltab DispCaltab
returns 2 (H_MSG_TRUE) if all parameter values are
correct. If necessary, an exception is raised.
Possible Predecessors
camera_calibration camera_calibration CameraCalibration CameraCalibration CameraCalibration
,
read_cam_par read_cam_par ReadCamPar ReadCamPar ReadCamPar
,
read_pose read_pose ReadPose ReadPose ReadPose
See also
find_marks_and_pose find_marks_and_pose FindMarksAndPose FindMarksAndPose FindMarksAndPose
,
camera_calibration camera_calibration CameraCalibration CameraCalibration CameraCalibration
,
sim_caltab sim_caltab SimCaltab SimCaltab SimCaltab
,
write_cam_par write_cam_par WriteCamPar WriteCamPar WriteCamPar
,
read_cam_par read_cam_par ReadCamPar ReadCamPar ReadCamPar
,
create_pose create_pose CreatePose CreatePose CreatePose
,
write_pose write_pose WritePose WritePose WritePose
,
read_pose read_pose ReadPose ReadPose ReadPose
,
project_3d_point project_3d_point Project3dPoint Project3dPoint Project3dPoint
,
get_line_of_sight get_line_of_sight GetLineOfSight GetLineOfSight GetLineOfSight
Module
Foundation