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 — 在标定数据模型中设置基于点的观测数据。
签名
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
模块
标定