Operator Reference

set_calib_data_observ_pointsT_set_calib_data_observ_pointsSetCalibDataObservPointsSetCalibDataObservPointsset_calib_data_observ_points (Operator)

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

Signature

set_calib_data_observ_points( : : CalibDataID, CameraIdx, CalibObjIdx, CalibObjPoseIdx, Row, Column, Index, Pose : )

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 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)

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

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

Description

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

CameraIdxCameraIdxCameraIdxcameraIdxcamera_idx:

index of the observing camera

CalibObjIdxCalibObjIdxCalibObjIdxcalibObjIdxcalib_obj_idx:

index of the observed calibration object

CalibObjPoseIdxCalibObjPoseIdxCalibObjPoseIdxcalibObjPoseIdxcalib_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 CalibObjIdxCalibObjIdxCalibObjIdxcalibObjIdxcalib_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.

RowRowRowrowrow, ColumnColumnColumncolumncolumn, IndexIndexIndexindexindex:

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

PosePosePoseposepose:

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_objectfind_calib_objectFindCalibObjectFindCalibObjectfind_calib_object instead of set_calib_data_observ_pointsset_calib_data_observ_pointsSetCalibDataObservPointsSetCalibDataObservPointsset_calib_data_observ_points, since the contour information, which it stores in the calibration data model, enables a more precise calibration procedure with calibrate_camerascalibrate_camerasCalibrateCamerasCalibrateCamerascalibrate_cameras.

The observation data can be accessed later by calling get_calib_data_observ_pointsget_calib_data_observ_pointsGetCalibDataObservPointsGetCalibDataObservPointsget_calib_data_observ_points using the same values for the arguments CameraIdxCameraIdxCameraIdxcameraIdxcamera_idx, CalibObjIdxCalibObjIdxCalibObjIdxcalibObjIdxcalib_obj_idx, and CalibObjPoseIdxCalibObjPoseIdxCalibObjPoseIdxcalibObjPoseIdxcalib_obj_pose_idx.

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

CalibDataIDCalibDataIDCalibDataIDcalibDataIDcalib_data_id (input_control, state is modified)  calib_data HCalibData, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle of a calibration data model.

CameraIdxCameraIdxCameraIdxcameraIdxcamera_idx (input_control)  number HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Index of the observing camera.

Default: 0

Suggested values: 0, 1, 2

CalibObjIdxCalibObjIdxCalibObjIdxcalibObjIdxcalib_obj_idx (input_control)  number HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Index of the calibration object.

Default: 0

Suggested values: 0, 1, 2

CalibObjPoseIdxCalibObjPoseIdxCalibObjPoseIdxcalibObjPoseIdxcalib_obj_pose_idx (input_control)  number HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Index of the observed calibration object.

Default: 0

Suggested values: 0, 1, 2

Restriction: CalibObjPoseIdx >= 0

RowRowRowrowrow (input_control)  number-array HTupleSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Row coordinates of the extracted points.

ColumnColumnColumncolumncolumn (input_control)  number-array HTupleSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Column coordinates of the extracted points.

IndexIndexIndexindexindex (input_control)  number-array HTupleSequence[Union[int, str]]HTupleHtuple (integer / string) (int / long / string) (Hlong / HString) (Hlong / char*)

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

Default: 'all' "all" "all" "all" "all"

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

PosePosePoseposepose (input_control)  number-array HTupleSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

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

Number of elements: 7

Possible Predecessors

find_marks_and_posefind_marks_and_poseFindMarksAndPoseFindMarksAndPosefind_marks_and_pose, set_calib_data_cam_paramset_calib_data_cam_paramSetCalibDataCamParamSetCalibDataCamParamset_calib_data_cam_param, set_calib_data_calib_objectset_calib_data_calib_objectSetCalibDataCalibObjectSetCalibDataCalibObjectset_calib_data_calib_object

Possible Successors

set_calib_dataset_calib_dataSetCalibDataSetCalibDataset_calib_data, calibrate_camerascalibrate_camerasCalibrateCamerasCalibrateCamerascalibrate_cameras

Alternatives

find_calib_objectfind_calib_objectFindCalibObjectFindCalibObjectfind_calib_object

Module

Calibration