Name
get_line_of_sightT_get_line_of_sightGetLineOfSightGetLineOfSight — Compute the line of sight corresponding to a point in the image.
Herror T_get_line_of_sight(const Htuple Row, const Htuple Column, const Htuple CameraParam, Htuple* PX, Htuple* PY, Htuple* PZ, Htuple* QX, Htuple* QY, Htuple* QZ)
void GetLineOfSight(const HTuple& Row, const HTuple& Column, const HTuple& CameraParam, HTuple* PX, HTuple* PY, HTuple* PZ, HTuple* QX, HTuple* QY, HTuple* QZ)
void HCamPar::GetLineOfSight(const HTuple& Row, const HTuple& Column, HTuple* PX, HTuple* PY, HTuple* PZ, HTuple* QX, HTuple* QY, HTuple* QZ) const
static void HOperatorSet.GetLineOfSight(HTuple row, HTuple column, HTuple cameraParam, out HTuple PX, out HTuple PY, out HTuple PZ, out HTuple QX, out HTuple QY, out HTuple QZ)
void HCamPar.GetLineOfSight(HTuple row, HTuple column, out HTuple PX, out HTuple PY, out HTuple PZ, out HTuple QX, out HTuple QY, out HTuple QZ)
get_line_of_sightget_line_of_sightGetLineOfSightGetLineOfSightGetLineOfSight computes the line of sight corresponding
to a pixel (RowRowRowRowrow, ColumnColumnColumnColumncolumn) in the image. The line
of sight is a (straight) line in the camera coordinate system, which
is described by two points (PXPXPXPXPX,PYPYPYPYPY,PZPZPZPZPZ) and
(QXQXQXQXQX,QYQYQYQYQY,QZQZQZQZQZ) on the line. The camera is
described by the internal camera parameters CameraParamCameraParamCameraParamCameraParamcameraParam
(see calibrate_camerascalibrate_camerasCalibrateCamerasCalibrateCamerasCalibrateCameras for details). If a pinhole camera is used,
the second point lies on the focal plane, i.e., for frame cameras, the
output parameter QZQZQZQZQZ is equivalent to the focal length of
the camera, whereas for linescan cameras, QZQZQZQZQZ also depends
on the motion of the camera with respect to the object. The
equation of the line of sight is given by
The advantage of representing the line of sight as two points is
that it is easier to transform the line in 3D. To do so, all that
is necessary is to apply the operator affine_trans_point_3daffine_trans_point_3dAffineTransPoint3dAffineTransPoint3dAffineTransPoint3d
to the two points.
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
Row coordinate of the pixel.
Column coordinate of the pixel.
Internal camera parameters.
X coordinate of the first point on the line of sight
in the camera coordinate system
Y coordinate of the first point on the line of sight
in the camera coordinate system
Z coordinate of the first point on the line of sight
in the camera coordinate system
X coordinate of the second point on the line of sight
in the camera coordinate system
Y coordinate of the second point on the line of sight
in the camera coordinate system
Z coordinate of the second point on the line of sight
in the camera coordinate system
* Set internal camera parameters.
* Note the, typically, these values are the result of a prior
* calibration.
gen_cam_par_area_scan_division (0.01, 30, 4.65e-006, 4.65e-006, \
640, 480, 1280, 960, CameraParam)
* Inverse projection.
get_line_of_sight([50, 100], [100, 200], CameraParam, PX, PY, PZ, QX, QY, QZ)
* Set internal camera parameters.
* Note the, typically, these values are the result of a prior
* calibration.
gen_cam_par_area_scan_division (0.01, 30, 4.65e-006, 4.65e-006, \
640, 480, 1280, 960, CameraParam)
* Inverse projection.
get_line_of_sight([50, 100], [100, 200], CameraParam, PX, PY, PZ, QX, QY, QZ)
* Set internal camera parameters.
* Note the, typically, these values are the result of a prior
* calibration.
gen_cam_par_area_scan_division (0.01, 30, 4.65e-006, 4.65e-006, \
640, 480, 1280, 960, CameraParam)
* Inverse projection.
get_line_of_sight([50, 100], [100, 200], CameraParam, PX, PY, PZ, QX, QY, QZ)
* Set internal camera parameters.
* Note the, typically, these values are the result of a prior
* calibration.
gen_cam_par_area_scan_division (0.01, 30, 4.65e-006, 4.65e-006, \
640, 480, 1280, 960, CameraParam)
* Inverse projection.
get_line_of_sight([50, 100], [100, 200], CameraParam, PX, PY, PZ, QX, QY, QZ)
* Set internal camera parameters.
* Note the, typically, these values are the result of a prior
* calibration.
gen_cam_par_area_scan_division (0.01, 30, 4.65e-006, 4.65e-006, \
640, 480, 1280, 960, CameraParam)
* Inverse projection.
get_line_of_sight([50, 100], [100, 200], CameraParam, PX, PY, PZ, QX, QY, QZ)
get_line_of_sightget_line_of_sightGetLineOfSightGetLineOfSightGetLineOfSight returns 2 (H_MSG_TRUE) if all parameter values are
correct. If necessary, an exception is raised.
read_cam_parread_cam_parReadCamParReadCamParReadCamPar,
camera_calibrationcamera_calibrationCameraCalibrationCameraCalibrationCameraCalibration
affine_trans_point_3daffine_trans_point_3dAffineTransPoint3dAffineTransPoint3dAffineTransPoint3d
camera_calibrationcamera_calibrationCameraCalibrationCameraCalibrationCameraCalibration,
disp_caltabdisp_caltabDispCaltabDispCaltabDispCaltab,
read_cam_parread_cam_parReadCamParReadCamParReadCamPar,
project_3d_pointproject_3d_pointProject3dPointProject3dPointProject3dPoint,
affine_trans_point_3daffine_trans_point_3dAffineTransPoint3dAffineTransPoint3dAffineTransPoint3d
Calibration