KlassenKlassenKlassenKlassen | | | | Operatoren

set_calib_data_cam_paramT_set_calib_data_cam_paramSetCalibDataCamParamset_calib_data_cam_paramSetCalibDataCamParamSetCalibDataCamParam (Operator)

Name

set_calib_data_cam_paramT_set_calib_data_cam_paramSetCalibDataCamParamset_calib_data_cam_paramSetCalibDataCamParamSetCalibDataCamParam — Definieren des Typs und der Startwerte für die internen Parameter der Kamera.

Signatur

set_calib_data_cam_param( : : CalibDataID, CameraIdx, CameraType, CameraParam : )

Herror T_set_calib_data_cam_param(const Htuple CalibDataID, const Htuple CameraIdx, const Htuple CameraType, const Htuple CameraParam)

Herror set_calib_data_cam_param(const HTuple& CalibDataID, const HTuple& CameraIdx, const HTuple& CameraType, const HTuple& CameraParam)

void HCalibData::SetCalibDataCamParam(const HTuple& CameraIdx, const HTuple& CameraType, const HTuple& CameraParam) const

void SetCalibDataCamParam(const HTuple& CalibDataID, const HTuple& CameraIdx, const HTuple& CameraType, const HTuple& CameraParam)

void HCalibData::SetCalibDataCamParam(const HTuple& CameraIdx, const HTuple& CameraType, const HTuple& CameraParam) const

void HOperatorSetX.SetCalibDataCamParam(
[in] VARIANT CalibDataID, [in] VARIANT CameraIdx, [in] VARIANT CameraType, [in] VARIANT CameraParam)

void HCalibDataX.SetCalibDataCamParam(
[in] VARIANT CameraIdx, [in] VARIANT CameraType, [in] VARIANT CameraParam)

static void HOperatorSet.SetCalibDataCamParam(HTuple calibDataID, HTuple cameraIdx, HTuple cameraType, HTuple cameraParam)

void HCalibData.SetCalibDataCamParam(HTuple cameraIdx, HTuple cameraType, HTuple cameraParam)

Beschreibung

Der Operator set_calib_data_cam_paramset_calib_data_cam_paramSetCalibDataCamParamset_calib_data_cam_paramSetCalibDataCamParamSetCalibDataCamParam definiert den Typ und die Startwerte für die internen Parameter der Kamera mit Index CameraIdxCameraIdxCameraIdxCameraIdxCameraIdxcameraIdx im Kalibrierdatenmodell CalibDataIDCalibDataIDCalibDataIDCalibDataIDCalibDataIDcalibDataID. Dementsprechend muss CameraIdxCameraIdxCameraIdxCameraIdxCameraIdxcameraIdx eine Zahl zwischen 0 und NumCameras-1 sein, wobei NumCameras mit dem Operator create_calib_datacreate_calib_dataCreateCalibDatacreate_calib_dataCreateCalibDataCreateCalibData bereits beim Erstellen des Modells festgesetzt ist. Falls eine Kamera mit demselben Index bereits definiert ist, wird sie durch die neue 'ausgetauscht'. Die Auswahl der zu optimierenden Kameraparameter wird in diesem Fall aufgehoben und muss eventuell neu gesetzt werden. Es ist zu beachten, dass alle NumCameras Kameras definiert werden müssen, bevor die Kamerakalibrierung (calibrate_camerascalibrate_camerasCalibrateCamerascalibrate_camerasCalibrateCamerasCalibrateCameras) durchgeführt werden kann.

Die Eingaben in Parameter CameraTypeCameraTypeCameraTypeCameraTypeCameraTypecameraType und CameraParamCameraParamCameraParamCameraParamCameraParamcameraParam müssen zueinander passen und sich nach dem Kameratyp richten:

für projektive Flächenkamera mit Divisionsmodell der Objektivverzeichnung:

CameraType: 'area_scan_division'"area_scan_division""area_scan_division""area_scan_division""area_scan_division""area_scan_division"

CameraParam: [Focus, Kappa, Sx, Sy, Cx, Cy, ImageWidth, ImageHeight]

für projektive Flächenkamera mit Polynomialmodell der Objektivverzeichnung:

CameraType: 'area_scan_polynomial'"area_scan_polynomial""area_scan_polynomial""area_scan_polynomial""area_scan_polynomial""area_scan_polynomial":

CameraParam: [Focus, K1, K2, K3, P1, P2, Sx, Sy, Cx, Cy, ImageWidth, ImageHeight]

für telezentrische Flächenkamera mit Divisionsmodell der Objektivverzeichnung:

CameraType: 'area_scan_telecentric_division'"area_scan_telecentric_division""area_scan_telecentric_division""area_scan_telecentric_division""area_scan_telecentric_division""area_scan_telecentric_division"

CameraParam: [0, Kappa, Sx, Sy, Cx, Cy, ImageWidth, ImageHeight]

für telezentrische Flächenkamera mit Polynomialmodell der Objektivverzeichnung:

CameraType: 'area_scan_telecentric_polynomial'"area_scan_telecentric_polynomial""area_scan_telecentric_polynomial""area_scan_telecentric_polynomial""area_scan_telecentric_polynomial""area_scan_telecentric_polynomial":

CameraParam: [0, K1, K2, K3, P1, P2, Sx, Sy, Cx, Cy, ImageWidth, ImageHeight]

für Zeilenkameras:

CameraType: 'line_scan'"line_scan""line_scan""line_scan""line_scan""line_scan":

CameraParam: [Focus, Kappa, Sx, Sy, Cx, Cy, ImageWidth, ImageHeight, Vx, Vy, Vz]

Eine genauere Beschreibung der einzelnen Kameratypen sowie der einzelnen Parameter jedes Kameratyps ist in der Referenzdokumentation des Operators camera_calibrationcamera_calibrationCameraCalibrationcamera_calibrationCameraCalibrationCameraCalibration zu finden (insbesondere in den Abschnitten "Zu Grunde liegendes 3D-Kameramodell" und "Kameraparameter"). Die Startparameter sind auf die gleiche Weise zu setzen, wie es für den Parameter StartCamParam bei dem Operator camera_calibrationcamera_calibrationCameraCalibrationcamera_calibrationCameraCalibrationCameraCalibration beschrieben wird (siehe dort den Abschnitt "Woher nehme ich geeignete Startwerte für die internen Kameraparameter?"). Wenn die Standardkalibrierplatte von HALCON benutzt wird, können die verwendeten Einheiten in read_cam_parread_cam_parReadCamParread_cam_parReadCamParReadCamPar nachgelesen werden.

Der Typ einer Kamera im Kalibriermodell wird im Nachhinein wieder mit dem Operator get_calib_dataget_calib_dataGetCalibDataget_calib_dataGetCalibDataGetCalibData und Argumenten ItemType='camera'"camera""camera""camera""camera""camera" und ParamName='type'"type""type""type""type""type" abgefragt. Die Startwerte für die internen Parameter der Kamera werden mit dem Operator get_calib_dataget_calib_dataGetCalibDataget_calib_dataGetCalibDataGetCalibData und Argumenten ItemType='camera'"camera""camera""camera""camera""camera" und ResultName='init_params'"init_params""init_params""init_params""init_params""init_params" abgefragt.

Achtung

Ein Kalibrierdatenmodell CalibDataID kann nur von einem Thread aus verwendet werden. Verschiedene Kalibrierdatenmodelle können dagegen in unterschiedlichen Threads genutzt werden.

Parallelisierung

Parameter

CalibDataIDCalibDataIDCalibDataIDCalibDataIDCalibDataIDcalibDataID (input_control)  calib_data HCalibData, HTupleHTupleHCalibData, HTupleHCalibDataX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Handle des Kalibrierdatenmodells.

CameraIdxCameraIdxCameraIdxCameraIdxCameraIdxcameraIdx (input_control)  number-array HTupleHTupleHTupleVARIANTHtuple (integer / string) (int / long / string) (Hlong / HString) (Hlong / char*) (Hlong / BSTR) (Hlong / char*)

Index der Kamera im Modell.

Defaultwert: 0

Wertevorschläge: 'all'"all""all""all""all""all", 0, 1, 2

CameraTypeCameraTypeCameraTypeCameraTypeCameraTypecameraType (input_control)  string-array HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Kameratyp.

Defaultwert: 'area_scan_division' "area_scan_division" "area_scan_division" "area_scan_division" "area_scan_division" "area_scan_division"

Werteliste: 'area_scan_division'"area_scan_division""area_scan_division""area_scan_division""area_scan_division""area_scan_division", 'area_scan_polynomial'"area_scan_polynomial""area_scan_polynomial""area_scan_polynomial""area_scan_polynomial""area_scan_polynomial", 'area_scan_telecentric_division'"area_scan_telecentric_division""area_scan_telecentric_division""area_scan_telecentric_division""area_scan_telecentric_division""area_scan_telecentric_division", 'area_scan_telecentric_polynomial'"area_scan_telecentric_polynomial""area_scan_telecentric_polynomial""area_scan_telecentric_polynomial""area_scan_telecentric_polynomial""area_scan_telecentric_polynomial", 'line_scan'"line_scan""line_scan""line_scan""line_scan""line_scan"

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

Startwerte für die internen Kameraparameter.

Parameteranzahl: CameraParam == 8 || CameraParam == 11 || CameraParam == 12

Vorgänger

create_calib_datacreate_calib_dataCreateCalibDatacreate_calib_dataCreateCalibDataCreateCalibData, set_calib_data_calib_objectset_calib_data_calib_objectSetCalibDataCalibObjectset_calib_data_calib_objectSetCalibDataCalibObjectSetCalibDataCalibObject

Nachfolger

set_calib_data_calib_objectset_calib_data_calib_objectSetCalibDataCalibObjectset_calib_data_calib_objectSetCalibDataCalibObjectSetCalibDataCalibObject, set_calib_data_observ_pointsset_calib_data_observ_pointsSetCalibDataObservPointsset_calib_data_observ_pointsSetCalibDataObservPointsSetCalibDataObservPoints, find_calib_objectfind_calib_objectFindCalibObjectfind_calib_objectFindCalibObjectFindCalibObject

Modul

Calibration


KlassenKlassenKlassenKlassen | | | | Operatoren