set_calib_data_observ_points — Set point-based observation data in a calibration data model.
set_calib_data_observ_points( : : CalibDataID, CameraIdx, CalibObjIdx, CalibObjPoseIdx, Row, Column, Index, Pose : )
For a calibration model of type
CalibSetup='calibration_object' (see
create_calib_data), cameras are calibrated based on so-called
observations of calibration objects. With
set_calib_data_observ_points, you store such an observation in
the calibration data model CalibDataID. An observation consists of
the following data:
CameraIdx:index of the observing camera
CalibObjIdx:index of the observed calibration object
CalibObjPoseIdx:
index of the observed pose of the
calibration object. You can choose it freely, without following a strict
order. If you specify an index that already exists for the calibration
object CalibObjIdx, the corresponding observation data is
replaced by the new one. Of course, the same index can be assigned to
poses of different calibration objects.
Row, Column, Index:
Extracted image
coordinates and corresponding index of the calibration marks of the
calibration object. Row and Column are tuples
containing the same
number of elements. Index can either contain a tuple (of the
same length) or the value 'all', indicating that the points
[Row, Column] correspond in a one-to-one relation to the
calibration marks of the calibration object. If the number of row or
column coordinates does not match the number of calibration marks, a
corresponding error message is returned.
Pose:A roughly estimated pose of the observed calibration object relative to observing camera.
If you are using the HALCON calibration plate, it is recommended to use
find_calib_object instead of set_calib_data_observ_points,
since the contour information, which it stores in the calibration data
model, enables a more precise calibration procedure with
calibrate_cameras.
The observation data can be accessed later by calling
get_calib_data_observ_points using the same values for the
arguments CameraIdx, CalibObjIdx, and
CalibObjPoseIdx.
This operator modifies the state of the following input parameter:
During execution of this operator, access to the value of this parameter must be synchronized if it is used across multiple threads.
CalibDataID (input_control, state is modified) calib_data → (handle)
Handle of a calibration data model.
CameraIdx (input_control) number → (integer)
Index of the observing camera.
Default value: 0
Suggested values: 0, 1, 2
CalibObjIdx (input_control) number → (integer)
Index of the calibration object.
Default value: 0
Suggested values: 0, 1, 2
CalibObjPoseIdx (input_control) number → (integer)
Index of the observed calibration object.
Default value: 0
Suggested values: 0, 1, 2
Restriction: CalibObjPoseIdx >= 0
Row (input_control) number-array → (real / integer)
Row coordinates of the extracted points.
Column (input_control) number-array → (real / integer)
Column coordinates of the extracted points.
Index (input_control) number-array → (integer / string)
Correspondence of the extracted points to the calibration marks of the observed calibration object.
Default value: 'all'
Suggested values: 'all', 0, 1, 2
Pose (input_control) number-array → (real / integer)
Roughly estimated pose of the observed calibration object relative to the observing camera.
Number of elements: 7
find_marks_and_pose,
set_calib_data_cam_param,
set_calib_data_calib_object
set_calib_data,
calibrate_cameras
Calibration