KlassenKlassenKlassenKlassen | | | | Operatoren

create_caltabcreate_caltabCreateCaltabcreate_caltabCreateCaltabCreateCaltab (Operator)

Name

create_caltabcreate_caltabCreateCaltabcreate_caltabCreateCaltabCreateCaltab — Erzeugen der Kalibrierkörperbeschreibungsdatei und der passenden PostScript-Datei. (obsolet)

Signatur

create_caltab( : : Width, CalTabDescrFile, CalTabFile : )

Herror create_caltab(double Width, const char* CalTabDescrFile, const char* CalTabFile)

Herror T_create_caltab(const Htuple Width, const Htuple CalTabDescrFile, const Htuple CalTabFile)

Herror create_caltab(const HTuple& Width, const HTuple& CalTabDescrFile, const HTuple& CalTabFile)

void CreateCaltab(const HTuple& Width, const HTuple& CalTabDescrFile, const HTuple& CalTabFile)

static void HMisc::CreateCaltab(double Width, const HString& CalTabDescrFile, const HString& CalTabFile)

static void HMisc::CreateCaltab(double Width, const char* CalTabDescrFile, const char* CalTabFile)

void HOperatorSetX.CreateCaltab(
[in] VARIANT Width, [in] VARIANT CalTabDescrFile, [in] VARIANT CalTabFile)

void HMiscX.CreateCaltab(
[in] double Width, [in] BSTR CalTabDescrFile, [in] BSTR CalTabFile)

static void HOperatorSet.CreateCaltab(HTuple width, HTuple calTabDescrFile, HTuple calTabFile)

static void HMisc.CreateCaltab(double width, string calTabDescrFile, string calTabFile)

Beschreibung

create_caltabcreate_caltabCreateCaltabcreate_caltabCreateCaltabCreateCaltab wurde durch den Operator gen_caltabgen_caltabGenCaltabgen_caltabGenCaltabGenCaltab ersetzt und ist nur noch aus Kompabilitätsgründen enthalten und beschrieben.

create_caltabcreate_caltabCreateCaltabcreate_caltabCreateCaltabCreateCaltab erzeugt die Beschreibung eines planaren Standard-Kalibrierkörpers für HALCON. Der Kalibrierkörper hat 49 quadratisch angeordnete, schwarze, runde Marken auf weißem Grund, die von einem schwarzen Rahmen umrandet sind. Mit WidthWidthWidthWidthWidthwidth wird die Breite (gleich der Höhe) des gesamten Kalibrierkörpers in Metern angegeben. Bei einer gewählten Breite von 0.8 m ergibt sich daher der Abstand zwischen zwei benachbarten Marken zu 10 cm, während der Markenradius sowie die Breite des schwarzen Rahmens dann einen Wert von 2.5 cm haben. 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.

Die Datei CalTabDescrFileCalTabDescrFileCalTabDescrFileCalTabDescrFileCalTabDescrFilecalTabDescrFile enthält die eigentliche Kalibrierkörperbeschreibung, d.h. die Anzahl der Zeilen und Spalten des Kalibrierkörpers, die Geometrie des Rahmens (vgl. find_caltabfind_caltabFindCaltabfind_caltabFindCaltabFindCaltab) und die Koordinaten und den Radius aller Kalibrierkörpermarken im Kalibrierkörperkoordinatensystem. Eine solche Datei hat z.B. folgendes Aussehen (Kommentare werden durch ein '#' am Zeilenanfang markiert):

  #
  # Description of the standard calibration plate
  # used for the camera calibration in HALCON
  #

  # 7 rows X 7 columns
  # Distance between mark centers [meter]: 0.1

  # Number of marks per row
  r 7

  # Number of marks per column
  c 7

  # Quadratic frame (with outer and inner border) around calibration plate
  w 0.025
  o -0.41 0.41 0.41 -0.41
  i -0.4 0.4 0.4 -0.4

  # calibration marks:  x y radius [Meter]

  # calibration marks at y = -0.3 m
  -0.3 -0.3 0.025
  -0.2 -0.3 0.025
  -0.1 -0.3 0.025
  0 -0.3 0.025
  0.1 -0.3 0.025
  0.2 -0.3 0.025
  0.3 -0.3 0.025

  # calibration marks at y = -0.2 m
  -0.3 -0.2 0.025
  -0.2 -0.2 0.025
  -0.1 -0.2 0.025
  0 -0.2 0.025
  0.1 -0.2 0.025
  0.2 -0.2 0.025
  0.3 -0.2 0.025

  # calibration marks at y = -0.1 m
  -0.3 -0.1 0.025
  -0.2 -0.1 0.025
  -0.1 -0.1 0.025
  0 -0.1 0.025
  0.1 -0.1 0.025
  0.2 -0.1 0.025
  0.3 -0.1 0.025

  # calibration marks at y = 0 m
  -0.3 0 0.025
  -0.2 0 0.025
  -0.1 0 0.025
  0 0 0.025
  0.1 0 0.025
  0.2 0 0.025
  0.3 0 0.025

  # calibration marks at y = 0.1 m
  -0.3 0.1 0.025
  -0.2 0.1 0.025
  -0.1 0.1 0.025
  0 0.1 0.025
  0.1 0.1 0.025
  0.2 0.1 0.025
  0.3 0.1 0.025

  # calibration marks at y = 0.2 m
  -0.3 0.2 0.025
  -0.2 0.2 0.025
  -0.1 0.2 0.025
  0 0.2 0.025
  0.1 0.2 0.025
  0.2 0.2 0.025
  0.3 0.2 0.025

  # calibration marks at y = 0.3 m
  -0.3 0.3 0.025
  -0.2 0.3 0.025
  -0.1 0.3 0.025
  0 0.3 0.025
  0.1 0.3 0.025
  0.2 0.3 0.025
  0.3 0.3 0.025

Die Datei CalTabFileCalTabFileCalTabFileCalTabFileCalTabFilecalTabFile enthält die korrespondierende PostScript-Beschreibung des Kalibrierkörpers.

Achtung

Je nach der erzielten Genauigkeit des verwendeten Ausgabegeräts (z.B. Laserdrucker) stimmt der ausgedruckte Kalibrierkörper nicht genau mit der Kalibrierkörperbeschreibungsdatei CalTabDescrFileCalTabDescrFileCalTabDescrFileCalTabDescrFileCalTabDescrFilecalTabDescrFile überein. Es müssen daher ggf. die Koordinaten der Kalibrierkörpermarken in der Kalibrierkörperbeschreibungsdatei an die realen Maße angepasst werden!

Parallelisierung

Parameter

WidthWidthWidthWidthWidthwidth (input_control)  real HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Breite des Kalibrierkörpers in Meter.

Defaultwert: 0.8

Wertevorschläge: 1.2, 0.8, 0.6, 0.4, 0.2, 0.1

Empfohlene Schrittweite: 0.1

Restriktion: 0.0 < Width

CalTabDescrFileCalTabDescrFileCalTabDescrFileCalTabDescrFileCalTabDescrFilecalTabDescrFile (input_control)  filename.write HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Dateiname der Kalibrierkörperbeschreibungsdatei.

Defaultwert: 'caltab.descr' "caltab.descr" "caltab.descr" "caltab.descr" "caltab.descr" "caltab.descr"

Werteliste: 'caltab.descr'"caltab.descr""caltab.descr""caltab.descr""caltab.descr""caltab.descr", 'caltab_100mm.descr'"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_10mm.descr", 'caltab_200mm.descr'"caltab_200mm.descr""caltab_200mm.descr""caltab_200mm.descr""caltab_200mm.descr""caltab_200mm.descr", 'caltab_30mm.descr'"caltab_30mm.descr""caltab_30mm.descr""caltab_30mm.descr""caltab_30mm.descr""caltab_30mm.descr"

Dateiendung: .descr

CalTabFileCalTabFileCalTabFileCalTabFileCalTabFilecalTabFile (input_control)  filename.write HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Dateiname der PostScript-Datei.

Defaultwert: 'caltab.ps' "caltab.ps" "caltab.ps" "caltab.ps" "caltab.ps" "caltab.ps"

Dateiendung: .ps

Beispiel (HDevelop)

*  create calibration plate with width = 80 cm
create_caltab(0.8, 'caltab.descr', 'caltab.ps')

Beispiel (HDevelop)

*  create calibration plate with width = 80 cm
create_caltab(0.8, 'caltab.descr', 'caltab.ps')

Beispiel (HDevelop)

*  create calibration plate with width = 80 cm
create_caltab(0.8, 'caltab.descr', 'caltab.ps')

Beispiel (C++ (HALCON 5.0-10.0))

// create calibration plate with width = 80 cm
create_caltab(0.8, "caltab.descr", "caltab.ps");

Beispiel (HDevelop)

*  create calibration plate with width = 80 cm
create_caltab(0.8, 'caltab.descr', 'caltab.ps')

Beispiel (HDevelop)

*  create calibration plate with width = 80 cm
create_caltab(0.8, 'caltab.descr', 'caltab.ps')

Ergebnis

Sind die Parameterwerte korrekt und konnten beide Dateien erfolgreich geschrieben werden, dann liefert create_caltabcreate_caltabCreateCaltabcreate_caltabCreateCaltabCreateCaltab den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Nachfolger

read_cam_parread_cam_parReadCamParread_cam_parReadCamParReadCamPar, caltab_pointscaltab_pointsCaltabPointscaltab_pointsCaltabPointsCaltabPoints

Siehe auch

gen_caltabgen_caltabGenCaltabgen_caltabGenCaltabGenCaltab, find_caltabfind_caltabFindCaltabfind_caltabFindCaltabFindCaltab, find_marks_and_posefind_marks_and_poseFindMarksAndPosefind_marks_and_poseFindMarksAndPoseFindMarksAndPose, camera_calibrationcamera_calibrationCameraCalibrationcamera_calibrationCameraCalibrationCameraCalibration, disp_caltabdisp_caltabDispCaltabdisp_caltabDispCaltabDispCaltab, sim_caltabsim_caltabSimCaltabsim_caltabSimCaltabSimCaltab

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren