Skip to content

set_calib_data_observ_pointsSetCalibDataObservPointsSetCalibDataObservPointsset_calib_data_observ_pointsT_set_calib_data_observ_points🔗

Short description🔗

set_calib_data_observ_pointsSetCalibDataObservPointsSetCalibDataObservPointsset_calib_data_observ_pointsT_set_calib_data_observ_points — Set point-based observation data in a calibration data model.

Signature🔗

set_calib_data_observ_points( calib_data CalibDataID, number CameraIdx, number CalibObjIdx, number CalibObjPoseIdx, number Row, number Column, number Index, number Pose )void SetCalibDataObservPoints( const HTuple& CalibDataID, const HTuple& CameraIdx, const HTuple& CalibObjIdx, const HTuple& CalibObjPoseIdx, const HTuple& Row, const HTuple& Column, const HTuple& Index, const HTuple& Pose )static void HOperatorSet.SetCalibDataObservPoints( HTuple calibDataID, HTuple cameraIdx, HTuple calibObjIdx, HTuple calibObjPoseIdx, HTuple row, HTuple column, HTuple index, HTuple pose )def set_calib_data_observ_points( calib_data_id: HHandle, camera_idx: int, calib_obj_idx: int, calib_obj_pose_idx: int, row: Sequence[Union[float, int]], column: Sequence[Union[float, int]], index: Sequence[Union[int, str]], pose: Sequence[Union[float, int]] ) -> None

Herror T_set_calib_data_observ_points( const Htuple CalibDataID, const Htuple CameraIdx, const Htuple CalibObjIdx, const Htuple CalibObjPoseIdx, const Htuple Row, const Htuple Column, const Htuple Index, const Htuple Pose )

void HCalibData::SetCalibDataObservPoints( Hlong CameraIdx, Hlong CalibObjIdx, Hlong CalibObjPoseIdx, const HTuple& Row, const HTuple& Column, const HTuple& Index, const HTuple& Pose ) const

void HCalibData.SetCalibDataObservPoints( int cameraIdx, int calibObjIdx, int calibObjPoseIdx, HTuple row, HTuple column, HTuple index, HTuple pose )

Description🔗

For a calibration model of type CalibSetupcalibSetupcalib_setup='calibration_object'"calibration_object" (see create_calib_dataCreateCalibData), cameras are calibrated based on so-called observations of calibration objects. With set_calib_data_observ_pointsSetCalibDataObservPoints, you store such an observation in the calibration data model CalibDataIDcalibDataIDcalib_data_id. An observation consists of the following data:

  • CameraIdxcameraIdxcamera_idx: index of the observing camera

  • CalibObjIdxcalibObjIdxcalib_obj_idx: index of the observed calibration object

  • CalibObjPoseIdxcalibObjPoseIdxcalib_obj_pose_idx: 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 CalibObjIdxcalibObjIdxcalib_obj_idx, the corresponding observation data is replaced by the new one. Of course, the same index can be assigned to poses of different calibration objects.

  • Rowrowrow, Columncolumncolumn, Indexindexindex: Extracted image coordinates and corresponding index of the calibration marks of the calibration object. Rowrowrow and Columncolumncolumn are tuples containing the same number of elements. Indexindexindex can either contain a tuple (of the same length) or the value 'all'"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.

  • Poseposepose: 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_objectFindCalibObject instead of set_calib_data_observ_pointsSetCalibDataObservPoints, since the contour information, which it stores in the calibration data model, enables a more precise calibration procedure with calibrate_camerasCalibrateCameras.

The observation data can be accessed later by calling get_calib_data_observ_pointsGetCalibDataObservPoints using the same values for the arguments CameraIdxcameraIdxcamera_idx, CalibObjIdxcalibObjIdxcalib_obj_idx, and CalibObjPoseIdxcalibObjPoseIdxcalib_obj_pose_idx.

Execution information🔗

Execution information
  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).

  • Multithreading scope: global (may be called from any thread).

  • Processed without parallelization.

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.

Parameters🔗

CalibDataIDcalibDataIDcalib_data_id (input_control, state is modified) calib_data → (handle)HTuple (HHandle)HCalibData, HTuple (IntPtr)HHandleHtuple (handle)

Handle of a calibration data model.

CameraIdxcameraIdxcamera_idx (input_control) number → (integer)HTuple (Hlong)HTuple (int / long)intHtuple (Hlong)

Index of the observing camera.

Default: 00
Suggested values: 0, 1, 20, 1, 2

CalibObjIdxcalibObjIdxcalib_obj_idx (input_control) number → (integer)HTuple (Hlong)HTuple (int / long)intHtuple (Hlong)

Index of the calibration object.

Default: 00
Suggested values: 0, 1, 20, 1, 2

CalibObjPoseIdxcalibObjPoseIdxcalib_obj_pose_idx (input_control) number → (integer)HTuple (Hlong)HTuple (int / long)intHtuple (Hlong)

Index of the observed calibration object.

Default: 00
Suggested values: 0, 1, 20, 1, 2
Restriction: CalibObjPoseIdx >= 0

Rowrowrow (input_control) number-array → (real / integer)HTuple (double / Hlong)HTuple (double / int / long)Sequence[Union[float, int]]Htuple (double / Hlong)

Row coordinates of the extracted points.

Columncolumncolumn (input_control) number-array → (real / integer)HTuple (double / Hlong)HTuple (double / int / long)Sequence[Union[float, int]]Htuple (double / Hlong)

Column coordinates of the extracted points.

Indexindexindex (input_control) number-array → (integer / string)HTuple (Hlong / HString)HTuple (int / long / string)Sequence[Union[int, str]]Htuple (Hlong / char*)

Correspondence of the extracted points to the calibration marks of the observed calibration object.

Default: 'all'"all"
Suggested values: 'all', 0, 1, 2"all", 0, 1, 2

Poseposepose (input_control) number-array → (real / integer)HTuple (double / Hlong)HTuple (double / int / long)Sequence[Union[float, int]]Htuple (double / Hlong)

Roughly estimated pose of the observed calibration object relative to the observing camera.

Number of elements: 7

Combinations with other operators🔗

Combinations

Possible predecessors

find_marks_and_poseFindMarksAndPose, set_calib_data_cam_paramSetCalibDataCamParam, set_calib_data_calib_objectSetCalibDataCalibObject

Possible successors

set_calib_dataSetCalibData, calibrate_camerasCalibrateCameras

Alternatives

find_calib_objectFindCalibObject

Module🔗

Calibration