ClassesClassesClassesClasses | | | | Operators

write_cam_parT_write_cam_parWriteCamParwrite_cam_parWriteCamParWriteCamPar (Operator)

Name

write_cam_parT_write_cam_parWriteCamParwrite_cam_parWriteCamParWriteCamPar — Write the internal camera parameters to a text file.

Signature

write_cam_par( : : CameraParam, CamParFile : )

Herror T_write_cam_par(const Htuple CameraParam, const Htuple CamParFile)

Herror write_cam_par(const HTuple& CameraParam, const HTuple& CamParFile)

void WriteCamPar(const HTuple& CameraParam, const HTuple& CamParFile)

static void HMisc::WriteCamPar(const HTuple& CameraParam, const HString& CamParFile)

static void HMisc::WriteCamPar(const HTuple& CameraParam, const char* CamParFile)

void HOperatorSetX.WriteCamPar(
[in] VARIANT CameraParam, [in] VARIANT CamParFile)

void HMiscX.WriteCamPar(
[in] VARIANT CameraParam, [in] BSTR CamParFile)

static void HOperatorSet.WriteCamPar(HTuple cameraParam, HTuple camParFile)

static void HMisc.WriteCamPar(HTuple cameraParam, string camParFile)

Description

write_cam_parwrite_cam_parWriteCamParwrite_cam_parWriteCamParWriteCamPar is used to write the internal camera parameters CameraParamCameraParamCameraParamCameraParamCameraParamcameraParam to a text file with name CamParFileCamParFileCamParFileCamParFileCamParFilecamParFile.

The default HALCON file extension for the camera parameters is 'dat'.

The number of values in CameraParamCameraParamCameraParamCameraParamCameraParamcameraParam depends on the specified CameraType. See the description of set_calib_data_cam_paramset_calib_data_cam_paramSetCalibDataCamParamset_calib_data_cam_paramSetCalibDataCamParamSetCalibDataCamParam for a list of values and calibrate_camerascalibrate_camerasCalibrateCamerascalibrate_camerasCalibrateCamerasCalibrateCameras for details on camera types and camera parameters.

The internal camera parameters describe the projection process of the used combination of camera, lens, and frame grabber; they can be determined calibrating the camera using calibrate_camerascalibrate_camerasCalibrateCamerascalibrate_camerasCalibrateCamerasCalibrateCameras or camera_calibrationcamera_calibrationCameraCalibrationcamera_calibrationCameraCalibrationCameraCalibration.

The format of the text file CamParFileCamParFileCamParFileCamParFileCamParFilecamParFile is a (HALCON-independent) generic parameter description. It allows to group arbitrary sets of parameters hierarchically. The description of a single parameter within a parameter group consists of the following 3 lines:

   Name : Shortname : Actual value ;
    Type : Lower bound (optional) : Upper bound (optional) ;
    Description (optional) ;

Depending on the number of elements of CameraParamCameraParamCameraParamCameraParamCameraParamcameraParam, the parameter groups Camera:Parameter or LinescanCamera:Parameter, respectively, are written into the text file CamParFileCamParFileCamParFileCamParFileCamParFilecamParFile (see read_cam_parread_cam_parReadCamParread_cam_parReadCamParReadCamPar for an example). The parameter group Camera:Parameter consists of the 8 to 14 internal camera parameters of the area scan camera models. The parameter group LinescanCamera:Parameter consists of the 11 internal camera parameters of the line scan camera.

Parallelization

Parameters

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

Internal camera parameters.

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

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

File name of internal camera parameters.

Default value: 'campar.dat' "campar.dat" "campar.dat" "campar.dat" "campar.dat" "campar.dat"

List of values: 'campar.dat'"campar.dat""campar.dat""campar.dat""campar.dat""campar.dat", 'campar.final'"campar.final""campar.final""campar.final""campar.final""campar.final", 'campar.initial'"campar.initial""campar.initial""campar.initial""campar.initial""campar.initial"

File extension: .dat

Example (HDevelop)

* 
* Calibrate the camera.
* 
StartCamPar := [0.016,0,0.0000074,0.0000074,326,247,652,494]
create_calib_data ('calibration_object', 1, 1, CalibDataID)
set_calib_data_cam_param (CalibDataID, 0, 'area_scan_division', StartCamPar)
set_calib_data_calib_object (CalibDataID, 0, 'caltab_30mm.descr')
NumImages := 10
for I := 1 to NumImages by 1
  read_image (Image, ImgPath + 'calib_' + I$'02d')
  find_calib_object (Image, CalibDataID, 0, 0, I, [], [])
  get_calib_data_observ_contours (Caltab, CalibDataID, 'caltab', 0, 0, I)
endfor
calibrate_cameras (CalibDataID, Error)
get_calib_data (CalibDataID, 'camera', 0, 'params', CamParam)
* Write the internal camera parameters to a file
write_cam_par (CamParam, 'camera_parameters.dat')

Result

write_cam_parwrite_cam_parWriteCamParwrite_cam_parWriteCamParWriteCamPar returns 2 (H_MSG_TRUE) if all parameter values are correct and the file has been written successfully. If necessary an exception is raised.

Possible Predecessors

camera_calibrationcamera_calibrationCameraCalibrationcamera_calibrationCameraCalibrationCameraCalibration

See also

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, read_cam_parread_cam_parReadCamParread_cam_parReadCamParReadCamPar, 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

Module

Foundation


ClassesClassesClassesClasses | | | | Operators