Operators |
read_cam_par — Read the internal camera parameters from a text file.
read_cam_par( : : CamParFile : CameraParam)
read_cam_par is used to read the internal camera parameters CameraParam from a text file with name CamParFile. The default HALCON file extension for the camera parameters is 'dat'. CameraParam is a tuple that contains the internal camera parameters.
The number of values in CameraParam depends on the specified CameraType. See the description of set_calib_data_cam_param for a list of values and calibrate_cameras for details on camera types and camera parameters.
The format of the text file 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) ;Comments are marked by a '#' at the beginning of a line.
read_cam_par expects in the file CamParFile one of the two following parameter groups.
The parameter group Camera:Parameter consists of the 8 to 14 internal camera parameters of the respective camera model.
A suitable file for a projective area scan camera for which the distortions are modeled by the division model can look like the following:
# INTERNAL CAMERA PARAMETERS ParGroup: Camera: Parameter; "Internal camera parameters"; Focus:foc: 0.00806039; DOUBLE:0.0:; "Focal length of the lens [meter]"; Kappa:kappa: -2253.5; DOUBLE::; "Radial distortion coefficient [1/(meter*meter)]"; Sx:sx: 1.0629e-05; DOUBLE:0.0:; "Width of a cell on the sensor [meter]"; Sy:sy: 1.1e-05; DOUBLE:0.0:; "Height of a cell on the sensor [meter]"; Cx:cx: 378.236; DOUBLE:0.0:; "X-coordinate of the image center [pixel]"; Cy:cy: 297.587; DOUBLE:0.0:; "Y-coordinate of the image center [pixel]"; ImageWidth:imgw: 768; INT:1:32767; "Width of the images [pixel]"; ImageHeight:imgh: 576; INT:1:32767; "Height of the images [pixel]";
A suitable file for a telecentric area scan camera for which the distortions are modeled by the polynomial model can look like the following:
# INTERNAL CAMERA PARAMETERS ParGroup: Camera: Parameter; "Internal camera parameters"; Focus:foc: 0.0; DOUBLE:0.0:; "Focal length of the lens [meter]"; Poly1:poly1: 0; DOUBLE::; "1st polynomial distortion coefficient"; Poly2:poly2: 0; DOUBLE::; "2nd polynomial distortion coefficient"; Poly3:poly3: 0; DOUBLE::; "3rd polynomial distortion coefficient"; Poly4:poly4: 0; DOUBLE::; "4th polynomial distortion coefficient"; Poly5:poly5: 0; DOUBLE::; "5th polynomial distortion coefficient"; Sx:sx: 1.1e-005; DOUBLE:0.0:; "Width of a cell on the sensor"; Sy:sy: 1.1e-005; DOUBLE:0.0:; "Height of a cell on the sensor"; Cx:cx: 384; DOUBLE::; "X-coordinate of the image center"; Cy:cy: 288; DOUBLE::; "Y-coordinate of the image center"; ImageWidth:imgw: 768; INT:1:32768; "Width of the images"; ImageHeight:imgh: 576; INT:1:32768; "Height of the images";
A suitable file for a projective area scan camera with a tilt lens for which the distortions are modeled by the division model can look like the following:
# INTERNAL CAMERA PARAMETERS ParGroup: Camera: Parameter; "Internal camera parameters"; Focus:foc: 0.00806039; DOUBLE:0.0:; "Focal length of the lens [meter]"; Kappa:kappa: -2253.5; DOUBLE::; "Radial distortion coefficient [1/(meter*meter)]"; Tilt:tilt: 5.547; DOUBLE:0.0:; "Tilt of the lens [degrees]"; Rotation:rot: 1.2763; DOUBLE:0.0:; "Direction of the tilt of the lens [degrees]"; Sx:sx: 1.0629e-05; DOUBLE:0.0:; "Width of a cell on the sensor [meter]"; Sy:sy: 1.1e-05; DOUBLE:0.0:; "Height of a cell on the sensor [meter]"; Cx:cx: 378.236; DOUBLE:0.0:; "X-coordinate of the image center [pixel]"; Cy:cy: 297.587; DOUBLE:0.0:; "Y-coordinate of the image center [pixel]"; ImageWidth:imgw: 768; INT:1:32767; "Width of the images [pixel]"; ImageHeight:imgh: 576; INT:1:32767; "Height of the images [pixel]";
The parameter group LinescanCamera:Parameter contains 11 parameters that describe the internal camera parameters and the the motion of the camera with respect to the object. With this, the parameter group LinescanCamera:Parameter consists of the 11 parameters Focus, Kappa , Sx, Sy, Cx, Cy, ImageWidth, ImageHeight, Vx, Vy und Vz. A suitable file can look like the following:
# INTERNAL CAMERA PARAMETERS ParGroup: LinescanCamera: Parameter; "Internal camera parameters"; Focus:foc: 0.061; DOUBLE:0.0:; "Focal length of the lens [meter]"; Kappa:kappa: -16.9761; DOUBLE::; "Radial distortion coefficient [1/(meter*meter)]"; Sx:sx: 1.06903e-05; DOUBLE:0.0:; "Width of a cell on the sensor [meter]"; Sy:sy: 1e-05; DOUBLE:0.0:; "Height of a cell on the sensor [meter]"; Cx:cx: 930.625; DOUBLE:0.0:; "X-coordinate of the image center [pixel]"; Cy:cy: 149.962; DOUBLE:0.0:; "Y-coordinate of the image center [pixel]"; ImageWidth:imgw: 2048; INT:1:32767; "Width of the images [pixel]"; ImageHeight:imgh: 3840; INT:1:32767; "Height of the images [pixel]"; Vx:vx: 1.41376e-06; DOUBLE::; "X-component of the motion vector [meter/scanline]"; Vy:vy: 5.45756e-05; DOUBLE::; "Y-component of the motion vector [meter/scanline]"; Vz:vz: 3.45872e-06; DOUBLE::; "Z-component of the motion vector [meter/scanline]";
File name of internal camera parameters.
Default value: 'campar.dat'
List of values: 'campar.dat' , 'campar.final' , 'campar.initial'
File extension: .dat
Internal camera parameters.
Number of elements: CameraParam == 8 || CameraParam == 10 || CameraParam == 11 || CameraParam == 12 || CameraParam == 14
* get internal camera parameters: read_cam_par('campar.dat', CameraParam)
read_cam_par returns 2 (H_MSG_TRUE) if all parameter values are correct and the file has been read successfully. If necessary an exception is raised.
find_marks_and_pose, sim_caltab, gen_caltab, disp_caltab, camera_calibration
find_caltab, find_marks_and_pose, camera_calibration, disp_caltab, sim_caltab, write_cam_par, write_pose, read_pose, project_3d_point, get_line_of_sight
Foundation
Operators |