| Operatoren |
gen_caltab — Erzeugen der Kalibrierkörperbeschreibungsdatei und der passenden PostScript-Datei für eine Kalibrierplatte mit rechteckiger Markenanordnung.
gen_caltab( : : XNum, YNum, MarkDist, DiameterRatio, CalPlateDescr, CalPlatePSFile : )
gen_caltab erzeugt die Beschreibung eines planaren Standard-Kalibrierkörpers für HALCON mit rechteckiger Markenanordnung. Der Kalibrierkörper hat XNum mal YNum schwarze, runde Marken auf weißem Grund, die von einem schwarzen Rahmen umrandet sind.
Die Marken sind in einem rechteckigen Gitter mit YNum und XNum äquidistanten Zeilen und Spalten angeordnet. Den Abstand zwischen diesen Zeilen und Spalten legt der Parameter MarkDist in Metern fest. Der Durchmesser der kreisförmigen Marken kann durch den Parameter DiameterRatio beeinflusst werden und ist über die Gleichung definiert. Wird nun beispielsweise ein Markenabstand von 0.01 m verwendet und das Verhältnis von Markendurchmesser zu Markenabstand auf 0.5 gesetzt, so umfasst der äußere schwarze Rand 8 cm und der Radius einer einzelnen Marke beträgt 2.5 mm. Das Kalibrierkörperkoordinatensystem ist im Mittelpunkt der Kalibrierkörperoberfläche platziert, die z-Achse zeigt in den Kalibrierkörper hinein, die x-Achse nach rechts und die y-Achse nach unten.
Der schwarze Rahmen der Kalibrierplatte enthält in der linken oberen Ecke eine dreieckige schwarze Orientierungsmarkierung, mit welcher die Lage der Kalibrierplatte eindeutig bestimmt werden kann. Die Breite und die Höhe der generierten Kalibrierplatte lassen sich mit den folgenden Formeln ermitteln:
Die Datei CalPlateDescr enthält die eigentliche Kalibrierkörperbeschreibung, d.h. die Anzahl der Zeilen und Spalten des Kalibrierkörpers, die Geometrie des Rahmens (vgl. find_caltab) und der dreieckigen Orientierungsmarke, eine Verschiebung des Koordinatensystems zur Plattenoberfläche in z-Richtung und die Koordinaten und den Radius aller Kalibrierkörpermarken im Kalibrierkörperkoordinatensystem. Die Definition der Orientierungsmarke t und des Offsets z ist optional und kann auskommentiert werden. Die Dateiendung für die Kalibrierkörperbeschreibung ist in HALCON 'descr'. Eine solche Datei hat z.B. folgendes Aussehen (Kommentare werden durch ein '#' am Zeilenanfang markiert):
# Plate Description Version 2 # HALCON Version 7.1 -- Fri Jun 24 16:41:00 2005 # Description of the standard calibration plate # used for the camera calibration in HALCON # (generated by gen_caltab) # # # 7 rows x 7 columns # Width, height of the black frame [meter]: 0.1, 0.1 # Distance between mark centers [meter]: 0.0125 # Number of marks in y-dimension (rows) r 7 # Number of marks in x-dimension (columns) c 7 # offset of coordinate system in z-dimension [meter] (optional): z 0 # Rectangular border (rim and black frame) of calibration plate # rim of the calibration plate (min x, max y, max x, min y) [meter]: o -0.05125 0.05125 0.05125 -0.05125 # outer border of the black frame (min x, max y, max x, min y) [meter]: i -0.05 0.05 0.05 -0.05 # triangular corner mark given by two corner points (x,y, x,y) [meter] # (optional): t -0.05 -0.0375 -0.0375 -0.05 # width of the black frame [meter]: w 0.003125 # calibration marks: x y radius [meter] # calibration marks at y = -0.0375 m -0.0375 -0.0375 0.003125 -0.025 -0.0375 0.003125 -0.0125 -0.0375 0.003125 -3.46945e-018 -0.0375 0.003125 0.0125 -0.0375 0.003125 0.025 -0.0375 0.003125 0.0375 -0.0375 0.003125 # calibration marks at y = -0.025 m -0.0375 -0.025 0.003125 -0.025 -0.025 0.003125 -0.0125 -0.025 0.003125 -3.46945e-018 -0.025 0.003125 0.0125 -0.025 0.003125 0.025 -0.025 0.003125 0.0375 -0.025 0.003125 # calibration marks at y = -0.0125 m -0.0375 -0.0125 0.003125 -0.025 -0.0125 0.003125 -0.0125 -0.0125 0.003125 -3.46945e-018 -0.0125 0.003125 0.0125 -0.0125 0.003125 0.025 -0.0125 0.003125 0.0375 -0.0125 0.003125 # calibration marks at y = -3.46945e-018 m -0.0375 -3.46945e-018 0.003125 -0.025 -3.46945e-018 0.003125 -0.0125 -3.46945e-018 0.003125 -3.46945e-018 -3.46945e-018 0.003125 0.0125 -3.46945e-018 0.003125 0.025 -3.46945e-018 0.003125 0.0375 -3.46945e-018 0.003125 # calibration marks at y = 0.0125 m -0.0375 0.0125 0.003125 -0.025 0.0125 0.003125 -0.0125 0.0125 0.003125 -3.46945e-018 0.0125 0.003125 0.0125 0.0125 0.003125 0.025 0.0125 0.003125 0.0375 0.0125 0.003125 # calibration marks at y = 0.025 m -0.0375 0.025 0.003125 -0.025 0.025 0.003125 -0.0125 0.025 0.003125 -3.46945e-018 0.025 0.003125 0.0125 0.025 0.003125 0.025 0.025 0.003125 0.0375 0.025 0.003125 # calibration marks at y = 0.0375 m -0.0375 0.0375 0.003125 -0.025 0.0375 0.003125 -0.0125 0.0375 0.003125 -3.46945e-018 0.0375 0.003125 0.0125 0.0375 0.003125 0.025 0.0375 0.003125 0.0375 0.0375 0.003125Die Datei CalPlatePSFile enthält die korrespondierende PostScript-Beschreibung des Kalibrierkörpers.
Je nach der erzielten Genauigkeit des verwendeten Ausgabegeräts (z.B. Laserdrucker) stimmt der ausgedruckte Kalibrierkörper nicht genau mit der Kalibrierkörperbeschreibungsdatei CalPlateDescr überein. Es müssen daher ggf. die Koordinaten der Kalibrierkörpermarken in der Kalibrierkörperbeschreibungsdatei an die realen Maße angepasst werden!
Anzahl der Marken in X-Richtung.
Defaultwert: 7
Wertevorschläge: 5, 7, 9
Empfohlene Schrittweite: 1
Restriktion: XNum > 1
Anzahl der Marken Y-Richtung.
Defaultwert: 7
Wertevorschläge: 5, 7, 9
Empfohlene Schrittweite: 1
Restriktion: YNum > 1
Abstand der Marken in Meter.
Defaultwert: 0.0125
Wertevorschläge: 0.1, 0.0125, 0.00375, 0.00125
Restriktion: 0.0 < MarkDist
Verhältnis des Markendurchmessers zum Markenabstand.
Defaultwert: 0.5
Wertevorschläge: 0.5, 0.55, 0.6, 0.65
Restriktion: 0.0 < DiameterRatio < 1.0
Dateiname der Kalibrierkörperbeschreibungsdatei.
Defaultwert: 'caltab.descr'
Werteliste: 'caltab.descr'
Dateiendung: .descr
Dateiname der PostScript-Datei.
Defaultwert: 'caltab.ps'
Dateiendung: .ps
* Create calibration plate with width = 80 cm. gen_caltab( 7, 7, 0.1, 0.5, 'caltab.descr', 'caltab.ps')
Sind die Parameterwerte korrekt und konnten beide Dateien erfolgreich geschrieben werden, dann liefert gen_caltab den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.
find_caltab, find_marks_and_pose, camera_calibration, disp_caltab, sim_caltab
Foundation
| Operatoren |