set_calib_data_observ_points
— Punktbasierte Beobachtungsdaten im Kalibrierdatenmodell speichern.
set_calib_data_observ_points( : : CalibDataID, CameraIdx, CalibObjIdx, CalibObjPoseIdx, Row, Column, Index, Pose : )
Für Kalibrierdatenmodelle von Aufbautyp
CalibSetup
='calibration_object' (see
create_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_points
im Modell gespeichert. Eine
Beobachtung besteht aus folgenden Daten:
CameraIdx
:Index der beobachtenden Kamera
CalibObjIdx
:Index des beobachteten Kalibrierkörpers
CalibObjPoseIdx
:
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 CalibObjIdx
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.
Row
, Column
, Index
:
Extrahierte Bildkoordinaten und entsprechender Index der
Kalibrierkörpermarker. Row
und Column
sind Tupel,
die dieselbe Anzahl von Elementen enthalten. Index
kann
entweder ein Tupel (von derselben Länge) oder den Wert 'all'
enthalten, womit bezeichnet wird, dass die Punkte [Row, Column]
eins-zu-eins den Kalibrierkörpermarker entsprechen.
Pose
: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_object
statt dem Operator
find_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_cameras
ermöglicht.
Die Beobachtungsdaten können mit
get_calib_data_observ_points
abgefragt werden.
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.
CalibDataID
(input_control, Zustand wird modifiziert) calib_data →
(handle)
Handle des Kalibrierdatenmodells.
CameraIdx
(input_control) number →
(integer)
Index der beobachtenden Kamera.
Defaultwert: 0
Wertevorschläge: 0, 1, 2
CalibObjIdx
(input_control) number →
(integer)
Index des beobachteten Kalibrierkörpers.
Defaultwert: 0
Wertevorschläge: 0, 1, 2
CalibObjPoseIdx
(input_control) number →
(integer)
Index der beobachteten Pose.
Defaultwert: 0
Wertevorschläge: 0, 1, 2
Restriktion: CalibObjPoseIdx >= 0
Row
(input_control) number-array →
(real / integer)
Zeilenkoordinaten der extrahierten Punktmerkmale.
Column
(input_control) number-array →
(real / integer)
Spaltenkoordinaten der extrahierten Punktmerkmale.
Index
(input_control) number-array →
(integer / string)
Zuordnung der extrahierten Punktmerkmale zu den Kalibrierkörpermarken.
Defaultwert: 'all'
Wertevorschläge: 'all' , 0, 1, 2
Pose
(input_control) number-array →
(real / integer)
Grob geschätzte 3D-Pose des Kalibrierkörpers relativ zur beobachtenden Kamera.
Parameteranzahl: 7
find_marks_and_pose
,
set_calib_data_cam_param
,
set_calib_data_calib_object
set_calib_data
,
calibrate_cameras
Calibration