| Operatoren |
disp_caltab — Projizieren und Zeichnen des 3D-Kalibrierkörpermodells ins Bild.
disp_caltab( : : WindowHandle, CalPlateDescr, CameraParam, CalPlatePose, ScaleFac : )
disp_caltab visualisiert im durch WindowHandle angegebenen Fenster die Marken und die Verbindungslinien zwischen den Marken des durch 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) und externen Kameraparameter (CalPlatePose, entspricht der Lage des Kalibrierkörpers in Kamerakoordinaten) auf die Bildebene projiziert. Das verwendete Kameramodell wird bei calibrate_cameras beschrieben.
Typischerweise wird disp_caltab verwendet, um das Ergebnis der Kamerakalibrierung (vgl. calibrate_cameras oder camera_calibration) durch Überblendung auf das originale Bild zu verifizieren. Die aktuelle Strichstärke kann mit set_line_width, die aktuelle Zeichenfarbe mit set_color gesetzt werden. Ferner kann der Beschriftungsstiel der Koordinatenachsen mit set_font verändert werden.
Der Parameter 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).
Fenster, in dem die Kalibrierplatte visualisiert werden soll.
Dateiname der Kalibrierkörperbeschreibungsdatei.
Defaultwert: 'calplate.cpd'
Werteliste: 'calplate.cpd', 'calplate_20mm.cpd', 'calplate_40mm.cpd', 'calplate_80mm.cpd', 'caltab.descr', 'caltab_160mm.cpd'
Dateiendung: .cpd, .descr
Interne Kameraparameter.
Parameteranzahl: CameraParam == 8 || CameraParam == 10 || CameraParam == 8 || CameraParam == 12 || CameraParam == 14
externe Kameraparameter (3D-Lage des Kalibrierkörpers in Kamerakoordinaten).
Parameteranzahl: 7
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
* 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 := [0.008, -1500, 3.7e-006, 3.7e-006, 640, 470, 1292, 964]
set_calib_data_cam_param (CalibDataID, 0, 'area_scan_division', 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)
Sind die Parameterwerte korrekt, dann liefert disp_caltab den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
camera_calibration, read_cam_par, read_pose
find_marks_and_pose, camera_calibration, sim_caltab, write_cam_par, read_cam_par, create_pose, write_pose, read_pose, project_3d_point, get_line_of_sight
Foundation
| Operatoren |