disp_caltab T_disp_caltab DispCaltab DispCaltab (Operator)
Name
disp_caltab T_disp_caltab DispCaltab DispCaltab
— Projizieren und Zeichnen des 3D-Kalibrierkörpermodells ins Bild.
Signatur
void DispCaltab (const HTuple& WindowHandle , const HTuple& CalPlateDescr , const HTuple& CameraParam , const HTuple& CalPlatePose , const HTuple& ScaleFac )
void HWindow ::DispCaltab (const HString& CalPlateDescr , const HCamPar& CameraParam , const HPose& CalPlatePose , double ScaleFac ) const
void HWindow ::DispCaltab (const char* CalPlateDescr , const HCamPar& CameraParam , const HPose& CalPlatePose , double ScaleFac ) const
void HWindow ::DispCaltab (const wchar_t* CalPlateDescr , const HCamPar& CameraParam , const HPose& CalPlatePose , double ScaleFac ) const
(Nur Windows)
void HCamPar ::DispCaltab (const HWindow& WindowHandle , const HString& CalPlateDescr , const HPose& CalPlatePose , double ScaleFac ) const
void HCamPar ::DispCaltab (const HWindow& WindowHandle , const char* CalPlateDescr , const HPose& CalPlatePose , double ScaleFac ) const
void HCamPar ::DispCaltab (const HWindow& WindowHandle , const wchar_t* CalPlateDescr , const HPose& CalPlatePose , double ScaleFac ) const
(Nur Windows)
static void HOperatorSet .DispCaltab (HTuple windowHandle , HTuple calPlateDescr , HTuple cameraParam , HTuple calPlatePose , HTuple scaleFac )
void HWindow .DispCaltab (string calPlateDescr , HCamPar cameraParam , HPose calPlatePose , double scaleFac )
void HCamPar .DispCaltab (HWindow windowHandle , string calPlateDescr , HPose calPlatePose , double scaleFac )
Beschreibung
disp_caltab disp_caltab DispCaltab DispCaltab DispCaltab
visualisiert im durch WindowHandle WindowHandle WindowHandle WindowHandle windowHandle
angegebenen Fenster die Marken und die Verbindungslinien zwischen
den Marken des durch CalPlateDescr CalPlateDescr CalPlateDescr CalPlateDescr calPlateDescr
beschriebenen
Kalibrierkörpers. Zusätzlich werden die x- und y-Achse des
Koordinatensystems der Platte auf der Plattenoberfläche
eingezeichnet. Dazu wird das 3D-Modell des Kalibrierkörpers mittels
der internen (CameraParam CameraParam CameraParam CameraParam cameraParam
) und externen Kameraparameter
(CalPlatePose CalPlatePose CalPlatePose CalPlatePose calPlatePose
auf die Bildebene projiziert.
Die 3D-Lage CalPlatePose CalPlatePose CalPlatePose CalPlatePose calPlatePose
wird in der
Form
erwartet. Dabei steht
ccs für das Kamerakoordinatensystem und
wcs für das Weltkoordinatensystem (siehe auch
Transformationen / Posen und
„Solution Guide III-C - 3D Vision“
). Dies bedeutet, die 3D-Lage
entspricht der Lage des Kalibrierkörpers in Kamerakoordinaten.
Das verwendete Kameramodell wird in Kalibrierung
beschrieben.
Typischerweise wird disp_caltab disp_caltab DispCaltab DispCaltab DispCaltab
verwendet, um das Ergebnis
der Kamerakalibrierung (vgl. Kalibrierung oder
camera_calibration camera_calibration CameraCalibration CameraCalibration CameraCalibration
) durch Überblendung auf das originale
Bild zu verifizieren. Die aktuelle Strichstärke kann mit
set_line_width set_line_width SetLineWidth SetLineWidth SetLineWidth
, die aktuelle Zeichenfarbe mit
set_color set_color SetColor SetColor SetColor
gesetzt werden. Ferner kann der Beschriftungsstiel
der Koordinatenachsen mit set_font set_font SetFont SetFont SetFont
verändert werden.
Der Parameter ScaleFac ScaleFac ScaleFac ScaleFac scaleFac
beeinflusst die Anzahl der
Stützstellen, mit der die ellipsenförmigen Konturen der
Kalibrierkörpermarken approximiert werden. Die Erhöhung der
Stützstellenanzahl ist sinnvoll, wenn der Bildbereich im
Ausgabefenster vergrößert dargestellt wird (vgl.
set_part set_part SetPart SetPart SetPart
).
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.
Parameter
WindowHandle WindowHandle WindowHandle WindowHandle windowHandle
(input_control) window →
HWindow , HTuple HTuple Htuple (handle) (IntPtr ) (HHandle ) (handle )
Fenster, in dem die Kalibrierplatte visualisiert
werden soll.
CalPlateDescr CalPlateDescr CalPlateDescr CalPlateDescr calPlateDescr
(input_control) filename.read →
HTuple HTuple Htuple (string) (string ) (HString ) (char* )
Dateiname der Kalibrierkörperbeschreibungsdatei.
Defaultwert:
'calplate_320.cpd'
"calplate_320.cpd"
"calplate_320.cpd"
"calplate_320.cpd"
"calplate_320.cpd"
Werteliste: 'calplate_10mm.cpd' "calplate_10mm.cpd" "calplate_10mm.cpd" "calplate_10mm.cpd" "calplate_10mm.cpd" , 'calplate_1200mm.cpd' "calplate_1200mm.cpd" "calplate_1200mm.cpd" "calplate_1200mm.cpd" "calplate_1200mm.cpd" , 'calplate_160mm.cpd' "calplate_160mm.cpd" "calplate_160mm.cpd" "calplate_160mm.cpd" "calplate_160mm.cpd" , 'calplate_20mm.cpd' "calplate_20mm.cpd" "calplate_20mm.cpd" "calplate_20mm.cpd" "calplate_20mm.cpd" , 'calplate_20mm_dark_on_light.cpd' "calplate_20mm_dark_on_light.cpd" "calplate_20mm_dark_on_light.cpd" "calplate_20mm_dark_on_light.cpd" "calplate_20mm_dark_on_light.cpd" , 'calplate_320mm.cpd' "calplate_320mm.cpd" "calplate_320mm.cpd" "calplate_320mm.cpd" "calplate_320mm.cpd" , 'calplate_40mm.cpd' "calplate_40mm.cpd" "calplate_40mm.cpd" "calplate_40mm.cpd" "calplate_40mm.cpd" , 'calplate_40mm_dark_on_light.cpd' "calplate_40mm_dark_on_light.cpd" "calplate_40mm_dark_on_light.cpd" "calplate_40mm_dark_on_light.cpd" "calplate_40mm_dark_on_light.cpd" , 'calplate_5mm.cpd' "calplate_5mm.cpd" "calplate_5mm.cpd" "calplate_5mm.cpd" "calplate_5mm.cpd" , 'calplate_640mm.cpd' "calplate_640mm.cpd" "calplate_640mm.cpd" "calplate_640mm.cpd" "calplate_640mm.cpd" , 'calplate_80mm.cpd' "calplate_80mm.cpd" "calplate_80mm.cpd" "calplate_80mm.cpd" "calplate_80mm.cpd" , 'calplate_80mm_dark_on_light.cpd' "calplate_80mm_dark_on_light.cpd" "calplate_80mm_dark_on_light.cpd" "calplate_80mm_dark_on_light.cpd" "calplate_80mm_dark_on_light.cpd" , 'caltab_100mm.descr' "caltab_100mm.descr" "caltab_100mm.descr" "caltab_100mm.descr" "caltab_100mm.descr" , 'caltab_10mm.descr' "caltab_10mm.descr" "caltab_10mm.descr" "caltab_10mm.descr" "caltab_10mm.descr" , 'caltab_200mm.descr' "caltab_200mm.descr" "caltab_200mm.descr" "caltab_200mm.descr" "caltab_200mm.descr" , 'caltab_2500um.descr' "caltab_2500um.descr" "caltab_2500um.descr" "caltab_2500um.descr" "caltab_2500um.descr" , 'caltab_30mm.descr' "caltab_30mm.descr" "caltab_30mm.descr" "caltab_30mm.descr" "caltab_30mm.descr" , 'caltab_650um.descr' "caltab_650um.descr" "caltab_650um.descr" "caltab_650um.descr" "caltab_650um.descr" , 'caltab_6mm.descr' "caltab_6mm.descr" "caltab_6mm.descr" "caltab_6mm.descr" "caltab_6mm.descr" , 'caltab_800mm.descr' "caltab_800mm.descr" "caltab_800mm.descr" "caltab_800mm.descr" "caltab_800mm.descr" , 'caltab_big.descr' "caltab_big.descr" "caltab_big.descr" "caltab_big.descr" "caltab_big.descr" , 'caltab_small.descr' "caltab_small.descr" "caltab_small.descr" "caltab_small.descr" "caltab_small.descr"
Dateiendung: .cpd
, .descr
CameraParam CameraParam CameraParam CameraParam cameraParam
(input_control) campar →
HCamPar , HTuple HTuple Htuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)
Interne Kameraparameter.
CalPlatePose CalPlatePose CalPlatePose CalPlatePose calPlatePose
(input_control) pose →
HPose , HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
externe Kameraparameter (3D-Lage des Kalibrierkörpers in
Kamerakoordinaten).
Parameteranzahl: 7
ScaleFac ScaleFac ScaleFac ScaleFac scaleFac
(input_control) real →
HTuple HTuple Htuple (real) (double ) (double ) (double )
Skalierungsfaktor für Darstellung.
Defaultwert: 1.0
Wertevorschläge: 0.5, 1.0, 2.0, 3.0
Empfohlene Schrittweite: 0.05
Restriktion: 0.0 < ScaleFac
Beispiel (HDevelop)
* Read image of calibration plate.
read_image (Image, 'calib/calib_single_camera_01')
get_image_size (Image, Width, Height)
* Create and setup the calibration model.
create_calib_data ('calibration_object', 1, 1, CalibDataID)
CalPlateDescr := 'calplate_80mm.cpd'
set_calib_data_calib_object (CalibDataID, 0, CalPlateDescr)
CamParam := ['area_scan_division', 0.008, -1500, 3.7e-6, 3.7e-6, \
640, 470, 1292, 964]
set_calib_data_cam_param (CalibDataID, 0, [], CamParam)
* Localize calibration plate in the image.
find_calib_object (Image, CalibDataID, 0, 0, 0, [], [])
get_calib_data_observ_pose (CalibDataID, 0, 0, 0, StartPose)
* Display calibration plate.
disp_caltab (WindowHandle, CalPlateDescr, CamParam, StartPose, 1)
Ergebnis
Sind die Parameterwerte korrekt, dann liefert disp_caltab disp_caltab DispCaltab DispCaltab DispCaltab
den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
Vorgänger
camera_calibration camera_calibration CameraCalibration CameraCalibration CameraCalibration
,
read_cam_par read_cam_par ReadCamPar ReadCamPar ReadCamPar
,
read_pose read_pose ReadPose ReadPose ReadPose
Siehe auch
find_marks_and_pose find_marks_and_pose FindMarksAndPose FindMarksAndPose FindMarksAndPose
,
camera_calibration camera_calibration CameraCalibration CameraCalibration CameraCalibration
,
sim_caltab sim_caltab SimCaltab SimCaltab SimCaltab
,
write_cam_par write_cam_par WriteCamPar WriteCamPar WriteCamPar
,
read_cam_par read_cam_par ReadCamPar ReadCamPar ReadCamPar
,
create_pose create_pose CreatePose CreatePose CreatePose
,
write_pose write_pose WritePose WritePose WritePose
,
read_pose read_pose ReadPose ReadPose ReadPose
,
project_3d_point project_3d_point Project3dPoint Project3dPoint Project3dPoint
,
get_line_of_sight get_line_of_sight GetLineOfSight GetLineOfSight GetLineOfSight
Modul
Foundation