set_calib_data_observ_pointsT_set_calib_data_observ_pointsSetCalibDataObservPointsSetCalibDataObservPointsset_calib_data_observ_points (Operator)
Name
set_calib_data_observ_pointsT_set_calib_data_observ_pointsSetCalibDataObservPointsSetCalibDataObservPointsset_calib_data_observ_points
— Punktbasierte Beobachtungsdaten im Kalibrierdatenmodell speichern.
Signatur
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
Beschreibung
Für Kalibrierdatenmodelle von Aufbautyp
CalibSetupCalibSetupCalibSetupCalibSetupcalibSetupcalib_setup
='calibration_object'"calibration_object""calibration_object""calibration_object""calibration_object""calibration_object" (see
create_calib_datacreate_calib_dataCreateCalibDataCreateCalibDataCreateCalibDatacreate_calib_data
) erfolgt die Kalibrierung anhand metrischer
Information, welche aus so genannten Beobachtungen der Kalibrierkörper
extrahiert wird. Solche Beobachtungen werden mit dem Operator
set_calib_data_observ_pointsset_calib_data_observ_pointsSetCalibDataObservPointsSetCalibDataObservPointsSetCalibDataObservPointsset_calib_data_observ_points
im Modell gespeichert. Eine
Beobachtung besteht aus folgenden Daten:
CameraIdxCameraIdxCameraIdxCameraIdxcameraIdxcamera_idx
:
Index der beobachtenden Kamera
CalibObjIdxCalibObjIdxCalibObjIdxCalibObjIdxcalibObjIdxcalib_obj_idx
:
Index des beobachteten Kalibrierkörpers
CalibObjPoseIdxCalibObjPoseIdxCalibObjPoseIdxCalibObjPoseIdxcalibObjPoseIdxcalib_obj_pose_idx
:
Index der beobachteten Pose des
Kalibrierkörpers. Dieser Index kann frei ausgewählt werden und muss
keiner strengen Ordnung folgen. Wenn dieser Index für den
Kalibrierkörper CalibObjIdxCalibObjIdxCalibObjIdxCalibObjIdxcalibObjIdxcalib_obj_idx
bereits im Modell gespeichert ist,
werden die zugeordneten Beobachtungsdaten durch die neuen ersetzt.
Im Gegensatz dazu kann derselbe Index Posen unterschiedlicher
Kalibrierkörper problemlos zugeordnet werden.
RowRowRowRowrowrow
, ColumnColumnColumnColumncolumncolumn
, IndexIndexIndexIndexindexindex
:
Extrahierte Bildkoordinaten und entsprechender Index der
Kalibrierkörpermarker. RowRowRowRowrowrow
und ColumnColumnColumnColumncolumncolumn
sind Tupel,
die dieselbe Anzahl von Elementen enthalten. IndexIndexIndexIndexindexindex
kann
entweder ein Tupel (von derselben Länge) oder den Wert 'all'"all""all""all""all""all"
enthalten, womit bezeichnet wird, dass die Punkte [Row, Column]
eins-zu-eins den Kalibrierkörpermarker entsprechen.
PosePosePosePoseposepose
:
Grob geschätzte 3D-Pose des Kalibrierkörpers relativ
zur beobachtenden Kamera.
Wenn eine HALCON-Kalibrierplatte als Kalibrierkörper eingesetzt wird,
empfehlen wir den Operator find_calib_objectfind_calib_objectFindCalibObjectFindCalibObjectFindCalibObjectfind_calib_object
statt dem Operator
find_marks_and_posefind_marks_and_poseFindMarksAndPoseFindMarksAndPoseFindMarksAndPosefind_marks_and_pose
zu verwenden, um Bildpunkte
zu extrahieren und die Kalibrierkörperpose zu schätzen, da dieser
Konturinformation im Kalibrierdatenmodell speichert und so eine präzisere
Kalibrierung mit calibrate_camerascalibrate_camerasCalibrateCamerasCalibrateCamerasCalibrateCamerascalibrate_cameras
ermöglicht.
Die Beobachtungsdaten können mit
get_calib_data_observ_pointsget_calib_data_observ_pointsGetCalibDataObservPointsGetCalibDataObservPointsGetCalibDataObservPointsget_calib_data_observ_points
abgefragt werden.
Ausführungsinformationen
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
Dieser Operator modifiziert den Zustand des folgenden Eingabeparameters:
Während der Ausführung dieses Operators muss der Zugriff auf den Wert dieses Parameters synchronisiert werden, wenn er über mehrere Threads hinweg verwendet wird.
Parameter
CalibDataIDCalibDataIDCalibDataIDCalibDataIDcalibDataIDcalib_data_id
(input_control, Zustand wird modifiziert) calib_data →
HCalibData, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Handle des Kalibrierdatenmodells.
CameraIdxCameraIdxCameraIdxCameraIdxcameraIdxcamera_idx
(input_control) number →
HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Index der beobachtenden Kamera.
Defaultwert: 0
Wertevorschläge: 0, 1, 2
CalibObjIdxCalibObjIdxCalibObjIdxCalibObjIdxcalibObjIdxcalib_obj_idx
(input_control) number →
HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Index des beobachteten Kalibrierkörpers.
Defaultwert: 0
Wertevorschläge: 0, 1, 2
CalibObjPoseIdxCalibObjPoseIdxCalibObjPoseIdxCalibObjPoseIdxcalibObjPoseIdxcalib_obj_pose_idx
(input_control) number →
HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Index der beobachteten Pose.
Defaultwert: 0
Wertevorschläge: 0, 1, 2
Restriktion: CalibObjPoseIdx >= 0
RowRowRowRowrowrow
(input_control) number-array →
HTupleSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Zeilenkoordinaten der extrahierten Punktmerkmale.
ColumnColumnColumnColumncolumncolumn
(input_control) number-array →
HTupleSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Spaltenkoordinaten der extrahierten Punktmerkmale.
IndexIndexIndexIndexindexindex
(input_control) number-array →
HTupleSequence[Union[int, str]]HTupleHtuple (integer / string) (int / long / string) (Hlong / HString) (Hlong / char*)
Zuordnung der extrahierten Punktmerkmale zu
den Kalibrierkörpermarken.
Defaultwert:
'all'
"all"
"all"
"all"
"all"
"all"
Wertevorschläge: 'all'"all""all""all""all""all", 0, 1, 2
PosePosePosePoseposepose
(input_control) number-array →
HTupleSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Grob geschätzte 3D-Pose des Kalibrierkörpers
relativ zur beobachtenden Kamera.
Parameteranzahl: 7
Vorgänger
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
Nachfolger
set_calib_dataset_calib_dataSetCalibDataSetCalibDataSetCalibDataset_calib_data
,
calibrate_camerascalibrate_camerasCalibrateCamerasCalibrateCamerasCalibrateCamerascalibrate_cameras
Alternativen
find_calib_objectfind_calib_objectFindCalibObjectFindCalibObjectFindCalibObjectfind_calib_object
Modul
Calibration