ClassesClassesClassesClasses | | | | Operators

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 — Set type and initial parameters of a camera in a calibration data model.

Signature

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)

Description

The operator set_calib_data_cam_paramset_calib_data_cam_paramSetCalibDataCamParamset_calib_data_cam_paramSetCalibDataCamParamSetCalibDataCamParam defines the type and the initial parameters for the camera with the index CameraIdxCameraIdxCameraIdxCameraIdxCameraIdxcameraIdx in the calibration data model CalibDataIDCalibDataIDCalibDataIDCalibDataIDCalibDataIDcalibDataID. The parameter CameraIdxCameraIdxCameraIdxCameraIdxCameraIdxcameraIdx must be between 0 and NumCameras-1 (NumCameras is specified during model creation with create_calib_datacreate_calib_dataCreateCalibDatacreate_calib_dataCreateCalibDataCreateCalibData and can be queried with get_calib_dataget_calib_dataGetCalibDataget_calib_dataGetCalibDataGetCalibData). If a camera with CameraIdxCameraIdxCameraIdxCameraIdxCameraIdxcameraIdx was already defined, its parameters are overwritten by the current ones (the camera is 'substituted'). In this case, the selection which camera parameters are marked for optimization is reset and maybe has to be set again. Note that all NumCameras cameras must be set to perform calibrate_camerascalibrate_camerasCalibrateCamerascalibrate_camerasCalibrateCamerasCalibrateCameras. The calibration procedure refines these initial parameters.

The parameters CameraTypeCameraTypeCameraTypeCameraTypeCameraTypecameraType and CameraParamCameraParamCameraParamCameraParamCameraParamcameraParam need to be specified in compliance with each other and with respect to the kind of camera, which has to be specified:

for projective area-scan sensors with a lens distortion modeled by:

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]

for projective area-scan sensors with a lens distortion modeled by:

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]

telecentric area-scan sensors with a lens distortion modeled by:

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]

for telecentric area-scan sensors with a lens distortion modeled by:

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]

for line scan cameras:

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]

For further details on the camera types and on the individual camera parameters in CameraParamCameraParamCameraParamCameraParamCameraParamcameraParam, see camera_calibrationcamera_calibrationCameraCalibrationcamera_calibrationCameraCalibrationCameraCalibration (see the paragraphs "Used 3D camera model" and "Camera parameters"). The initial parameters of the cameras are selected and set in the same manner as it is done with the parameter StartCamParam in camera_calibrationcamera_calibrationCameraCalibrationcamera_calibrationCameraCalibrationCameraCalibration (see the paragraph "How to find suitable initial values for the internal camera parameters?"). If the standard HALCON calibration plate is used, the units of the individual parameters are as specified in read_cam_parread_cam_parReadCamParread_cam_parReadCamParReadCamPar.

The type of a camera can be queried later by calling get_calib_dataget_calib_dataGetCalibDataget_calib_dataGetCalibDataGetCalibData with the arguments ItemType='camera'"camera""camera""camera""camera""camera" and DataName='type'"type""type""type""type""type". The initial camera parameters can be queried by calling get_calib_dataget_calib_dataGetCalibDataget_calib_dataGetCalibDataGetCalibData with arguments ItemType='camera'"camera""camera""camera""camera""camera" and DataName='init_params'"init_params""init_params""init_params""init_params""init_params".

Attention

A camera calibration data model CalibDataID cannot be shared between two or more user's threads. Different camera calibration data models can be used independently and safely in different threads.

Parallelization

Parameters

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

Handle of a calibration data model.

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

Camera index.

Default value: 0

Suggested values: 'all'"all""all""all""all""all", 0, 1, 2

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

Type of the camera.

Default value: 'area_scan_division' "area_scan_division" "area_scan_division" "area_scan_division" "area_scan_division" "area_scan_division"

List of values: '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)

Initial camera internal parameters.

Number of elements: CameraParam == 8 || CameraParam == 11 || CameraParam == 12

Possible Predecessors

create_calib_datacreate_calib_dataCreateCalibDatacreate_calib_dataCreateCalibDataCreateCalibData, set_calib_data_calib_objectset_calib_data_calib_objectSetCalibDataCalibObjectset_calib_data_calib_objectSetCalibDataCalibObjectSetCalibDataCalibObject

Possible Successors

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

Module

Calibration


ClassesClassesClassesClasses | | | | Operators