KlassenKlassenKlassenKlassen | | | | Operatoren

disp_caltabT_disp_caltabDispCaltabdisp_caltabDispCaltabDispCaltab (Operator)

Name

disp_caltabT_disp_caltabDispCaltabdisp_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)

Herror disp_caltab(const HTuple& WindowHandle, const HTuple& CalPlateDescr, const HTuple& CameraParam, const HTuple& CalPlatePose, const HTuple& ScaleFac)

void HWindow::DispCaltab(const HTuple& CalPlateDescr, const HTuple& CameraParam, const HTuple& CalPlatePose, const HTuple& ScaleFac) const

void DispCaltab(const HTuple& WindowHandle, const HTuple& CalPlateDescr, const HTuple& CameraParam, const HTuple& CalPlatePose, const HTuple& ScaleFac)

void HWindow::DispCaltab(const HString& CalPlateDescr, const HTuple& CameraParam, const HPose& CalPlatePose, double ScaleFac) const

void HWindow::DispCaltab(const char* CalPlateDescr, const HTuple& CameraParam, const HPose& CalPlatePose, double ScaleFac) const

void HOperatorSetX.DispCaltab(
[in] VARIANT WindowHandle, [in] VARIANT CalPlateDescr, [in] VARIANT CameraParam, [in] VARIANT CalPlatePose, [in] VARIANT ScaleFac)

void HWindowX.DispCaltab(
[in] BSTR CalPlateDescr, [in] VARIANT CameraParam, [in] VARIANT CalPlatePose, [in] double ScaleFac)

static void HOperatorSet.DispCaltab(HTuple windowHandle, HTuple calPlateDescr, HTuple cameraParam, HTuple calPlatePose, HTuple scaleFac)

void HWindow.DispCaltab(string calPlateDescr, HTuple cameraParam, HPose calPlatePose, double scaleFac)

Beschreibung

disp_caltabdisp_caltabDispCaltabdisp_caltabDispCaltabDispCaltab visualisiert im durch WindowHandleWindowHandleWindowHandleWindowHandleWindowHandlewindowHandle angegebenen Fenster die Marken und die Verbindungslinien zwischen den Marken des durch CalPlateDescrCalPlateDescrCalPlateDescrCalPlateDescrCalPlateDescrcalPlateDescr 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 (CameraParamCameraParamCameraParamCameraParamCameraParamcameraParam) und externen Kameraparameter (CalPlatePoseCalPlatePoseCalPlatePoseCalPlatePoseCalPlatePosecalPlatePose, entspricht der Lage des Kalibrierkörpers in Kamerakoordinaten) auf die Bildebene projiziert. Das verwendete Kameramodell wird bei calibrate_camerascalibrate_camerasCalibrateCamerascalibrate_camerasCalibrateCamerasCalibrateCameras beschrieben.

Typischerweise wird disp_caltabdisp_caltabDispCaltabdisp_caltabDispCaltabDispCaltab verwendet, um das Ergebnis der Kamerakalibrierung (vgl. calibrate_camerascalibrate_camerasCalibrateCamerascalibrate_camerasCalibrateCamerasCalibrateCameras oder camera_calibrationcamera_calibrationCameraCalibrationcamera_calibrationCameraCalibrationCameraCalibration) durch Überblendung auf das originale Bild zu verifizieren. Die aktuelle Strichstärke kann mit set_line_widthset_line_widthSetLineWidthset_line_widthSetLineWidthSetLineWidth, die aktuelle Zeichenfarbe mit set_colorset_colorSetColorset_colorSetColorSetColor gesetzt werden. Ferner kann der Beschriftungsstiel der Koordinatenachsen mit set_fontset_fontSetFontset_fontSetFontSetFont verändert werden.

Der Parameter ScaleFacScaleFacScaleFacScaleFacScaleFacscaleFac 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_partSetPartset_partSetPartSetPart).

Parallelisierung

Parameter

WindowHandleWindowHandleWindowHandleWindowHandleWindowHandlewindowHandle (input_control)  window HWindow, HTupleHTupleHTupleHWindowX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Fenster, in dem die Kalibrierplatte visualisiert werden soll.

CalPlateDescrCalPlateDescrCalPlateDescrCalPlateDescrCalPlateDescrcalPlateDescr (input_control)  filename.read HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Dateiname der Kalibrierkörperbeschreibungsdatei.

Defaultwert: 'calplate.cpd' "calplate.cpd" "calplate.cpd" "calplate.cpd" "calplate.cpd" "calplate.cpd"

Werteliste: 'calplate.cpd'"calplate.cpd""calplate.cpd""calplate.cpd""calplate.cpd""calplate.cpd", 'calplate_20mm.cpd'"calplate_20mm.cpd""calplate_20mm.cpd""calplate_20mm.cpd""calplate_20mm.cpd""calplate_20mm.cpd", 'calplate_40mm.cpd'"calplate_40mm.cpd""calplate_40mm.cpd""calplate_40mm.cpd""calplate_40mm.cpd""calplate_40mm.cpd", 'calplate_80mm.cpd'"calplate_80mm.cpd""calplate_80mm.cpd""calplate_80mm.cpd""calplate_80mm.cpd""calplate_80mm.cpd", 'caltab.descr'"caltab.descr""caltab.descr""caltab.descr""caltab.descr""caltab.descr", 'caltab_160mm.cpd'"caltab_160mm.cpd""caltab_160mm.cpd""caltab_160mm.cpd""caltab_160mm.cpd""caltab_160mm.cpd"

Dateiendung: .cpd, .descr

CameraParamCameraParamCameraParamCameraParamCameraParamcameraParam (input_control)  number-array HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Interne Kameraparameter.

Parameteranzahl: CameraParam == 8 || CameraParam == 10 || CameraParam == 8 || CameraParam == 12 || CameraParam == 14

CalPlatePoseCalPlatePoseCalPlatePoseCalPlatePoseCalPlatePosecalPlatePose (input_control)  pose HPose, HTupleHTupleHTupleHPoseX, VARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

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

Parameteranzahl: 7

ScaleFacScaleFacScaleFacScaleFacScaleFacscaleFac (input_control)  real HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (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 := [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)

Ergebnis

Sind die Parameterwerte korrekt, dann liefert disp_caltabdisp_caltabDispCaltabdisp_caltabDispCaltabDispCaltab den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

camera_calibrationcamera_calibrationCameraCalibrationcamera_calibrationCameraCalibrationCameraCalibration, read_cam_parread_cam_parReadCamParread_cam_parReadCamParReadCamPar, read_poseread_poseReadPoseread_poseReadPoseReadPose

Siehe auch

find_marks_and_posefind_marks_and_poseFindMarksAndPosefind_marks_and_poseFindMarksAndPoseFindMarksAndPose, camera_calibrationcamera_calibrationCameraCalibrationcamera_calibrationCameraCalibrationCameraCalibration, sim_caltabsim_caltabSimCaltabsim_caltabSimCaltabSimCaltab, write_cam_parwrite_cam_parWriteCamParwrite_cam_parWriteCamParWriteCamPar, read_cam_parread_cam_parReadCamParread_cam_parReadCamParReadCamPar, create_posecreate_poseCreatePosecreate_poseCreatePoseCreatePose, write_posewrite_poseWritePosewrite_poseWritePoseWritePose, read_poseread_poseReadPoseread_poseReadPoseReadPose, project_3d_pointproject_3d_pointProject3dPointproject_3d_pointProject3dPointProject3dPoint, get_line_of_sightget_line_of_sightGetLineOfSightget_line_of_sightGetLineOfSightGetLineOfSight

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren