Name
find_calib_objectT_find_calib_objectFindCalibObjectfind_calib_objectFindCalibObjectFindCalibObject — Find the standard calibration plate and set the extracted points and
contours in a calibration data model.
Herror find_calib_object(Hobject Image, const HTuple& CalibDataID, const HTuple& CameraIdx, const HTuple& CalibObjIdx, const HTuple& CalibObjPoseIdx, const HTuple& GenParamName, const HTuple& GenParamValue)
void HCalibData::FindCalibObject(const HImage& Image, const HTuple& CameraIdx, const HTuple& CalibObjIdx, const HTuple& CalibObjPoseIdx, const HTuple& GenParamName, const HTuple& GenParamValue) const
void FindCalibObject(const HObject& Image, const HTuple& CalibDataID, const HTuple& CameraIdx, const HTuple& CalibObjIdx, const HTuple& CalibObjPoseIdx, const HTuple& GenParamName, const HTuple& GenParamValue)
void HCalibData::FindCalibObject(const HImage& Image, Hlong CameraIdx, Hlong CalibObjIdx, Hlong CalibObjPoseIdx, const HTuple& GenParamName, const HTuple& GenParamValue) const
void HOperatorSetX.FindCalibObject(
[in] IHUntypedObjectX* Image, [in] VARIANT CalibDataID, [in] VARIANT CameraIdx, [in] VARIANT CalibObjIdx, [in] VARIANT CalibObjPoseIdx, [in] VARIANT GenParamName, [in] VARIANT GenParamValue)
void HCalibDataX.FindCalibObject(
[in] IHImageX* Image, [in] Hlong CameraIdx, [in] Hlong CalibObjIdx, [in] Hlong CalibObjPoseIdx, [in] VARIANT GenParamName, [in] VARIANT GenParamValue)
static void HOperatorSet.FindCalibObject(HObject image, HTuple calibDataID, HTuple cameraIdx, HTuple calibObjIdx, HTuple calibObjPoseIdx, HTuple genParamName, HTuple genParamValue)
void HCalibData.FindCalibObject(HImage image, int cameraIdx, int calibObjIdx, int calibObjPoseIdx, HTuple genParamName, HTuple genParamValue)
find_calib_objectfind_calib_objectFindCalibObjectfind_calib_objectFindCalibObjectFindCalibObject searches in ImageImageImageImageImageimage for a standard
calibration plate corresponding to the description of the calibration object
with the index CalibObjIdxCalibObjIdxCalibObjIdxCalibObjIdxCalibObjIdxcalibObjIdx from the calibration data model
CalibDataIDCalibDataIDCalibDataIDCalibDataIDCalibDataIDcalibDataID. If a plate is found, find_calib_objectfind_calib_objectFindCalibObjectfind_calib_objectFindCalibObjectFindCalibObject
extracts the centers and the contours of its marks and estimates the pose
of the plate relative to the observing camera CameraIdxCameraIdxCameraIdxCameraIdxCameraIdxcameraIdx. Finally,
all collected observation data are stored in the calibration data model
for the calibration object pose CalibObjPoseIdxCalibObjPoseIdxCalibObjPoseIdxCalibObjPoseIdxCalibObjPoseIdxcalibObjPoseIdx.
find_calib_objectfind_calib_objectFindCalibObjectfind_calib_objectFindCalibObjectFindCalibObject is used to collect observations in a calibration
data model (see set_calib_data_observ_pointsset_calib_data_observ_pointsSetCalibDataObservPointsset_calib_data_observ_pointsSetCalibDataObservPointsSetCalibDataObservPoints for description
of calibration data observations) and it essentially encapsulates the
sequence of three operator calls: find_caltabfind_caltabFindCaltabfind_caltabFindCaltabFindCaltab,
find_marks_and_posefind_marks_and_poseFindMarksAndPosefind_marks_and_poseFindMarksAndPoseFindMarksAndPose and set_calib_data_observ_pointsset_calib_data_observ_pointsSetCalibDataObservPointsset_calib_data_observ_pointsSetCalibDataObservPointsSetCalibDataObservPoints.
Besides encapsulating a great deal of parameter settings, it stores
additional observation data compared to
set_calib_data_observ_pointsset_calib_data_observ_pointsSetCalibDataObservPointsset_calib_data_observ_pointsSetCalibDataObservPointsSetCalibDataObservPoints, e.g., the calibration plate
contour and the calibration marks' contours. Note that
find_calib_objectfind_calib_objectFindCalibObjectfind_calib_objectFindCalibObjectFindCalibObject needs the full description of a standard
calibration plate, i.e., a description file name must be passed to
set_calib_data_calib_objectset_calib_data_calib_objectSetCalibDataCalibObjectset_calib_data_calib_objectSetCalibDataCalibObjectSetCalibDataCalibObject when specifying the
CalibObjIdxCalibObjIdxCalibObjIdxCalibObjIdxCalibObjIdxcalibObjIdx-th calibration object. Otherwise,
find_calib_objectfind_calib_objectFindCalibObjectfind_calib_objectFindCalibObjectFindCalibObject returns an error. Respectively, if a calibration
object that is no standard calibration plate was specified by passing a
tuple of mark coordinates to set_calib_data_calib_objectset_calib_data_calib_objectSetCalibDataCalibObjectset_calib_data_calib_objectSetCalibDataCalibObjectSetCalibDataCalibObject, only
set_calib_data_observ_pointsset_calib_data_observ_pointsSetCalibDataObservPointsset_calib_data_observ_pointsSetCalibDataObservPointsSetCalibDataObservPoints can be used to collect observation
data for the poses of this calibration object.
By setting GenParamNameGenParamNameGenParamNameGenParamNameGenParamNamegenParamName to one of the following values, the
following additional parameters can be set in GenParamValueGenParamValueGenParamValueGenParamValueGenParamValuegenParamValue:
- 'gap_tolerance'"gap_tolerance""gap_tolerance""gap_tolerance""gap_tolerance""gap_tolerance":
-
Tolerance factor for gaps between the marks. If the marks appear
closer to each other than expected, you might set
'gap_tolerance'"gap_tolerance""gap_tolerance""gap_tolerance""gap_tolerance""gap_tolerance" < 1.0 to avoid disturbing patterns
outside the calibration plate to be associated with the calibration
plate. This can typically happen if the plate is strongly tilted and
positioned in front of a background that exposes mark-like patterns.
If the distances between single marks vary in a wide range, e.g., if
the calibration plate appears with strong perspective distortion in
the image, you might set 'gap_tolerance'"gap_tolerance""gap_tolerance""gap_tolerance""gap_tolerance""gap_tolerance" > 1.0 to
enforce the marks grouping (see also find_caltabfind_caltabFindCaltabfind_caltabFindCaltabFindCaltab).
Suggested values: 0.75, 0.9,
1.0 (default),
1.1, 1.2, 1.5
- 'alpha'"alpha""alpha""alpha""alpha""alpha":
-
Smoothing factor for the extraction of the mark contours. The use of
'alpha'"alpha""alpha""alpha""alpha""alpha" < 0.9 might be required for images that are
out of focus, whereas 'alpha'"alpha""alpha""alpha""alpha""alpha" > 0.9 might be required
for images which are sharp, but expose higher levels of noise.
(see find_marks_and_posefind_marks_and_poseFindMarksAndPosefind_marks_and_poseFindMarksAndPoseFindMarksAndPose for more details)
Suggested values: 0.5, 0.7,
0.9 (default),
1.0, 1.2, 1.5
- 'max_diam_marks'"max_diam_marks""max_diam_marks""max_diam_marks""max_diam_marks""max_diam_marks":
-
Maximum expected diameter of the marks (needed internally by
find_marks_and_posefind_marks_and_poseFindMarksAndPosefind_marks_and_poseFindMarksAndPoseFindMarksAndPose). By default, this value is estimated
by the preceeding internal call to find_caltabfind_caltabFindCaltabfind_caltabFindCaltabFindCaltab. However, if
the estimation is erroneous for no obvious reason or the internal call to
find_caltabfind_caltabFindCaltabfind_caltabFindCaltabFindCaltab fails or is simply skipped (see
'skip_find_caltab'"skip_find_caltab""skip_find_caltab""skip_find_caltab""skip_find_caltab""skip_find_caltab" below), you might have to adjust this
value.
Suggested values: 50.0, 100.0,
150.0, 200.0,
300.0
- 'skip_find_caltab'"skip_find_caltab""skip_find_caltab""skip_find_caltab""skip_find_caltab""skip_find_caltab":
-
Skip the internal call to find_caltabfind_caltabFindCaltabfind_caltabFindCaltabFindCaltab. If activated, only the
domain of ImageImageImageImageImageimage reduces the search area for the internal call
of find_marks_and_posefind_marks_and_poseFindMarksAndPosefind_marks_and_poseFindMarksAndPoseFindMarksAndPose. Thus, a user defined calibration plate
region can be incorporated by setting
'skip_find_caltab'"skip_find_caltab""skip_find_caltab""skip_find_caltab""skip_find_caltab""skip_find_caltab"='false'"false""false""false""false""false" and reducing
the ImageImageImageImageImageimage domain to the user region.
List of values: 'false'"false""false""false""false""false" (default),
'true'"true""true""true""true""true"
It is recommended to use find_calib_objectfind_calib_objectFindCalibObjectfind_calib_objectFindCalibObjectFindCalibObject instead of
set_calib_data_observ_pointsset_calib_data_observ_pointsSetCalibDataObservPointsset_calib_data_observ_pointsSetCalibDataObservPointsSetCalibDataObservPoints where possible, since the contour
information, which it stores in the calibration data model, enables a more
precise calibration procedure with calibrate_camerascalibrate_camerasCalibrateCamerascalibrate_camerasCalibrateCamerasCalibrateCameras.
After a successful call to find_calib_objectfind_calib_objectFindCalibObjectfind_calib_objectFindCalibObjectFindCalibObject, the extracted
points can be queried by get_calib_data_observ_pointsget_calib_data_observ_pointsGetCalibDataObservPointsget_calib_data_observ_pointsGetCalibDataObservPointsGetCalibDataObservPoints and the
extracted contours can be accessed by get_calib_data_observ_contoursget_calib_data_observ_contoursGetCalibDataObservContoursget_calib_data_observ_contoursGetCalibDataObservContoursGetCalibDataObservContours.
A camera calibration data model CalibDataID cannot be shared
between two or more user's threads. Different camera calibration data
models can be used independently and safely in different threads.
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
Handle of a calibration data model.
Index of the observing camera.
Default value: 0
Suggested values: 0, 1, 2
Index of the calibration object.
Default value: 0
Suggested values: 0, 1, 2
Index of the observed calibration object.
Default value: 0
Suggested values: 0, 1, 2
Restriction: CalibObjPoseIdx >= 0
Names of the generic parameters to be set.
Default value: []
List of values: 'alpha'"alpha""alpha""alpha""alpha""alpha", 'gap_tolerance'"gap_tolerance""gap_tolerance""gap_tolerance""gap_tolerance""gap_tolerance", 'max_diam_marks'"max_diam_marks""max_diam_marks""max_diam_marks""max_diam_marks""max_diam_marks", 'skip_find_caltab'"skip_find_caltab""skip_find_caltab""skip_find_caltab""skip_find_caltab""skip_find_caltab"
Values of the generic parameters to be set.
Default value: []
Suggested values: 0.5, 0.9, 1.0, 1.2, 1.5, 2.0, 'true'"true""true""true""true""true", 'false'"false""false""false""false""false"
read_imageread_imageReadImageread_imageReadImageReadImage,
find_marks_and_posefind_marks_and_poseFindMarksAndPosefind_marks_and_poseFindMarksAndPoseFindMarksAndPose,
set_calib_data_cam_paramset_calib_data_cam_paramSetCalibDataCamParamset_calib_data_cam_paramSetCalibDataCamParamSetCalibDataCamParam,
set_calib_data_calib_objectset_calib_data_calib_objectSetCalibDataCalibObjectset_calib_data_calib_objectSetCalibDataCalibObjectSetCalibDataCalibObject
set_calib_dataset_calib_dataSetCalibDataset_calib_dataSetCalibDataSetCalibData,
calibrate_camerascalibrate_camerasCalibrateCamerascalibrate_camerasCalibrateCamerasCalibrateCameras
find_caltabfind_caltabFindCaltabfind_caltabFindCaltabFindCaltab,
find_marks_and_posefind_marks_and_poseFindMarksAndPosefind_marks_and_poseFindMarksAndPoseFindMarksAndPose,
set_calib_data_observ_pointsset_calib_data_observ_pointsSetCalibDataObservPointsset_calib_data_observ_pointsSetCalibDataObservPointsSetCalibDataObservPoints
Calibration