disp_caltabT_disp_caltabDispCaltabDispCaltab (Operator)

Name

disp_caltabT_disp_caltabDispCaltabDispCaltab — Projizieren und Zeichnen des 3D-Kalibrierkörpermodells ins Bild.

Signatur

disp_caltab( : : WindowHandle, CalPlateDescr, CameraParam, CalPlatePose, ScaleFac : )

Herror T_disp_caltab(const Htuple WindowHandle, const Htuple CalPlateDescr, const Htuple CameraParam, const Htuple CalPlatePose, const Htuple ScaleFac)

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_caltabdisp_caltabDispCaltabDispCaltabDispCaltab visualisiert im durch WindowHandleWindowHandleWindowHandleWindowHandlewindowHandle angegebenen Fenster die Marken und die Verbindungslinien zwischen den Marken des durch CalPlateDescrCalPlateDescrCalPlateDescrCalPlateDescrcalPlateDescr 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 (CameraParamCameraParamCameraParamCameraParamcameraParam) und externen Kameraparameter (CalPlatePoseCalPlatePoseCalPlatePoseCalPlatePosecalPlatePose auf die Bildebene projiziert. Die 3D-Lage CalPlatePoseCalPlatePoseCalPlatePoseCalPlatePosecalPlatePose 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_caltabdisp_caltabDispCaltabDispCaltabDispCaltab verwendet, um das Ergebnis der Kamerakalibrierung (vgl. Kalibrierung oder camera_calibrationcamera_calibrationCameraCalibrationCameraCalibrationCameraCalibration) durch Überblendung auf das originale Bild zu verifizieren. Die aktuelle Strichstärke kann mit set_line_widthset_line_widthSetLineWidthSetLineWidthSetLineWidth, die aktuelle Zeichenfarbe mit set_colorset_colorSetColorSetColorSetColor gesetzt werden. Ferner kann der Beschriftungsstiel der Koordinatenachsen mit set_fontset_fontSetFontSetFontSetFont verändert werden.

Der Parameter ScaleFacScaleFacScaleFacScaleFacscaleFac 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_partset_partSetPartSetPartSetPart).

Ausführungsinformationen

Parameter

WindowHandleWindowHandleWindowHandleWindowHandlewindowHandle (input_control)  window HWindow, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Fenster, in dem die Kalibrierplatte visualisiert werden soll.

CalPlateDescrCalPlateDescrCalPlateDescrCalPlateDescrcalPlateDescr (input_control)  filename.read HTupleHTupleHtuple (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

CameraParamCameraParamCameraParamCameraParamcameraParam (input_control)  campar HCamPar, HTupleHTupleHtuple (real / integer / string) (double / int / long / string) (double / Hlong / HString) (double / Hlong / char*)

Interne Kameraparameter.

CalPlatePoseCalPlatePoseCalPlatePoseCalPlatePosecalPlatePose (input_control)  pose HPose, HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

externe Kameraparameter (3D-Lage des Kalibrierkörpers in Kamerakoordinaten).

Parameteranzahl: 7

ScaleFacScaleFacScaleFacScaleFacscaleFac (input_control)  real HTupleHTupleHtuple (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_caltabdisp_caltabDispCaltabDispCaltabDispCaltab den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

camera_calibrationcamera_calibrationCameraCalibrationCameraCalibrationCameraCalibration, read_cam_parread_cam_parReadCamParReadCamParReadCamPar, read_poseread_poseReadPoseReadPoseReadPose

Siehe auch

find_marks_and_posefind_marks_and_poseFindMarksAndPoseFindMarksAndPoseFindMarksAndPose, camera_calibrationcamera_calibrationCameraCalibrationCameraCalibrationCameraCalibration, sim_caltabsim_caltabSimCaltabSimCaltabSimCaltab, write_cam_parwrite_cam_parWriteCamParWriteCamParWriteCamPar, read_cam_parread_cam_parReadCamParReadCamParReadCamPar, create_posecreate_poseCreatePoseCreatePoseCreatePose, write_posewrite_poseWritePoseWritePoseWritePose, read_poseread_poseReadPoseReadPoseReadPose, project_3d_pointproject_3d_pointProject3dPointProject3dPointProject3dPoint, get_line_of_sightget_line_of_sightGetLineOfSightGetLineOfSightGetLineOfSight

Modul

Foundation