基于Halcon的相机标定算法及图像操作工具设计外文翻译资料

 2022-11-09 04:11

1.binocular_calibration (Operator)

Name

binocular_calibration — Determine all camera parameters of a binocular stereo system.

Signature

binocular_calibration( : : NX, NY, NZ, NRow1, NCol1, NRow2, NCol2, StartCamParam1, StartCamParam2, NStartPose1, NStartPose2, EstimateParams : CamParam1, CamParam2, NFinalPose1, NFinalPose2, RelPose, Errors)

Description

In general, binocular calibration means the exact determination of the parameters that model the 3D reconstruction of a 3D point from the corresponding images of this point in a binocular stereo system. This reconstruction is specified by the internal parameters CamParam1 of camera 1 and CamParam2 of camera 2 describing the underlying projective camera model, and the external parameters RelPose describing the relative pose of camera system 2 in relation to camera system 1.

Thus, known 3D model points (with coordinates NX, NY, NZ) are projected in the image planes of both cameras (camera 1 and camera 2) and the sum of the squared distances between these projections and the corresponding measured image points (with coordinates NRow1, NCol1 for camera 1 and NRow2, NCol2 for camera 2) is minimized. It should be noted that all these model points must be visible in both images. The used camera model is described in camera_calibration. The camera model is represented (for each camera separately) by a tuple of 8 to 14 parameters that correspond to area scan cameras (see write_cam_par). The projection uses the initial values StartCamParam1 and StartCamParam2 of the internal parameters of camera 1 and camera 2, which can be obtained from the camera data sheets. In addition, the initial guesses NStartPose1 and NStartPose2 of the poses of the 3D calibration model in relation to the camera coordinate systems (CCS) of camera 1 and camera 2 are needed as well. These poses can be determined by the find_marks_and_pose operator. Since this calibration algorithm simultaneously handles correspondences between measured image and known model points from different image pairs, poses (NStartPose1,NStartPose2), and measured points (NRow1,NCol1,NRow2, NCol2) must be passed concatenated in a corresponding order.

The input parameter EstimateParams is used to select the parameters to be estimated. Usually this parameter is set to all, i.e., all external camera parameters (translation and rotation) and all internal camera parameters are determined. Otherwise, EstimateParams contains a tuple of strings indicating the combination of parameters to estimate. For instance, if the internal camera parameters already have been determined (e.g., by previous calls to camera_calibration), it is often desired to only determine relative the pose of the two cameras to each other (RelPose). In this case, EstimateParams can be set to pose_rel. This has the same effect as EstimateParams = [pose1,pose2]. The internal parameters can be subsumed by the parameter values cam_param1 and cam_param2 as well. Note that if the polynomial model is used to model the lens distortions, the values k1_i, k2_i and k3_i can be specified individually, whereas p1 and p2 can only be specified in the group poly_tan_2_i (with i indicating the index of the camera). poly_i specifies the group k1_i, k2_i, k3_i and poly_tan_2_i.

In addition, parameters can be excluded from estimation by using the prefix ~. For example, the values [pose1, ~transx1] have the same effect as [alpha1,beta1,gamma1,transy1,transz1]. On the other hand, [all,~focus1] determines all internal and external parameters except the focus of camera 1, for instance. The prefix ~ can be used with all parameter values except all.

The underlying camera model is explained in the description of the camera_calibration operator. The calibrated internal camera parameters are returned in CamParam1 for camera 1 and in CamParam2 for camera 2. The external parameters are returned in RelPose and specify the 3D transformation of points of CCS 2 into CCS 1. Note that according to the description of poses at create_pose one parameter is appended to the pose tuple at the last position to define the representation type of this pose.

Analogously to camera_calibration, the 3D transformation poses of the calibration model to the respective CCS are returned in NFinalPose1 and NFinalPose2. These transformations are related to RelPose according to the following equation (neglecting differences due to the balancing effects of the multi image calibration):

HomMat3D_NFinalPose2 = INV(HomMat3D_RelPose) * HomMat3D_NFinalPose1 ,

where HomMat3D_* denotes a homogeneous transformation matrix of the respective poses and INV() inverts a homogeneous matrix.

The computed average errors returned in Errors give an impression of the accuracy of the calibration. Using the determined camera parameters, they denote the average euclidean distance between the projection of the mark centers to their extracted image coordinates.

For cameras with telecentric lenses, additional conditions must be fulfilled for the setup. They can be found in the documentation of calibrate_cameras.

Parallelization

Multithreading type: reentrant (runs in parallel with non-exclusive operators).

Multithreading scope: global (may be called from any thread).

Processed without parallelization.

Parameters

NX (input_control) number-array → (real / integer)

Ordered Tuple with all X-coordinates of the calibration marks (in meters).

NY (input_control) number-array → (real / integer)

Ordered Tuple with all Y-coordinates of the calibration marks (in meters).

Number of elements: NY == NX

NZ (input_control) number-array → (real / integer)

Ordered Tuple with all Z-coordinates of the calibration marks (in meters).

Number of el

剩余内容已隐藏,支付完成后下载完整资料


英语原文共 11 页,剩余内容已隐藏,支付完成后下载完整资料


资料编号:[138027],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 30元 才能查看全部内容!立即支付

课题毕业论文、开题报告、任务书、外文翻译、程序设计、图纸设计等资料可联系客服协助查找。