set_calib_data_observ_pointsT_set_calib_data_observ_pointsSetCalibDataObservPointsSetCalibDataObservPointsset_calib_data_observ_points (算子)

名称

set_calib_data_observ_pointsT_set_calib_data_observ_pointsSetCalibDataObservPointsSetCalibDataObservPointsset_calib_data_observ_points — 在标定数据模型中设置基于点的观测数据。

签名

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

static void HOperatorSet.SetCalibDataObservPoints(HTuple calibDataID, HTuple cameraIdx, HTuple calibObjIdx, HTuple calibObjPoseIdx, HTuple row, HTuple column, HTuple index, HTuple pose)

void HCalibData.SetCalibDataObservPoints(int cameraIdx, int calibObjIdx, int 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

描述

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

CameraIdxCameraIdxCameraIdxCameraIdxcameraIdxcamera_idx

index of the observing camera

CalibObjIdxCalibObjIdxCalibObjIdxCalibObjIdxcalibObjIdxcalib_obj_idx

index of the observed calibration object

CalibObjPoseIdxCalibObjPoseIdxCalibObjPoseIdxCalibObjPoseIdxcalibObjPoseIdxcalib_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 CalibObjIdxCalibObjIdxCalibObjIdxCalibObjIdxcalibObjIdxcalib_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.

RowRowRowRowrowrow, ColumnColumnColumnColumncolumncolumn, IndexIndexIndexIndexindexindex

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

PosePosePosePoseposepose

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_objectFindCalibObjectFindCalibObjectFindCalibObjectfind_calib_object instead of set_calib_data_observ_pointsset_calib_data_observ_pointsSetCalibDataObservPointsSetCalibDataObservPointsSetCalibDataObservPointsset_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_camerasCalibrateCamerasCalibrateCamerasCalibrateCamerascalibrate_cameras

The observation data can be accessed later by calling get_calib_data_observ_pointsget_calib_data_observ_pointsGetCalibDataObservPointsGetCalibDataObservPointsGetCalibDataObservPointsget_calib_data_observ_points using the same values for the arguments CameraIdxCameraIdxCameraIdxCameraIdxcameraIdxcamera_idx, CalibObjIdxCalibObjIdxCalibObjIdxCalibObjIdxcalibObjIdxcalib_obj_idx, and CalibObjPoseIdxCalibObjPoseIdxCalibObjPoseIdxCalibObjPoseIdxcalibObjPoseIdxcalib_obj_pose_idx

执行信息

此算子修改后续输入参数的状态:

在执行此算子时,若该参数值需在多个线程间使用,则必须对其访问进行同步。

参数

CalibDataIDCalibDataIDCalibDataIDCalibDataIDcalibDataIDcalib_data_id (输入控制,状态被修改)  calib_data HCalibData, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle of a calibration data model.

CameraIdxCameraIdxCameraIdxCameraIdxcameraIdxcamera_idx (输入控制)  number HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Index of the observing camera.

默认值: 0

建议值: 0, 1, 2

CalibObjIdxCalibObjIdxCalibObjIdxCalibObjIdxcalibObjIdxcalib_obj_idx (输入控制)  number HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Index of the calibration object.

默认值: 0

建议值: 0, 1, 2

CalibObjPoseIdxCalibObjPoseIdxCalibObjPoseIdxCalibObjPoseIdxcalibObjPoseIdxcalib_obj_pose_idx (输入控制)  number HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Index of the observed calibration object.

默认值: 0

建议值: 0, 1, 2

限制: CalibObjPoseIdx >= 0

RowRowRowRowrowrow (输入控制)  number-array HTupleSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Row coordinates of the extracted points.

ColumnColumnColumnColumncolumncolumn (输入控制)  number-array HTupleSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Column coordinates of the extracted points.

IndexIndexIndexIndexindexindex (输入控制)  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.

默认值: 'all' "all" "all" "all" "all" "all"

建议值: 'all'"all""all""all""all""all", 0, 1, 2

PosePosePosePoseposepose (输入控制)  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.

元素数量: 7

可能的前趋

find_marks_and_posefind_marks_and_poseFindMarksAndPoseFindMarksAndPoseFindMarksAndPosefind_marks_and_pose, set_calib_data_cam_paramset_calib_data_cam_paramSetCalibDataCamParamSetCalibDataCamParamSetCalibDataCamParamset_calib_data_cam_param, set_calib_data_calib_objectset_calib_data_calib_objectSetCalibDataCalibObjectSetCalibDataCalibObjectSetCalibDataCalibObjectset_calib_data_calib_object

可能的后继

set_calib_dataset_calib_dataSetCalibDataSetCalibDataSetCalibDataset_calib_data, calibrate_camerascalibrate_camerasCalibrateCamerasCalibrateCamerasCalibrateCamerascalibrate_cameras

替代

find_calib_objectfind_calib_objectFindCalibObjectFindCalibObjectFindCalibObjectfind_calib_object

模块

标定