Operator Reference

proj_hom_mat2d_to_poseT_proj_hom_mat2d_to_poseProjHomMat2dToPoseProjHomMat2dToPoseproj_hom_mat2d_to_pose (Operator)

proj_hom_mat2d_to_poseT_proj_hom_mat2d_to_poseProjHomMat2dToPoseProjHomMat2dToPoseproj_hom_mat2d_to_pose — Compute a pose out of a homography describing the relation between world and image coordinates.

Signature

proj_hom_mat2d_to_pose( : : Homography, CameraMatrix, Method : Pose)

Herror T_proj_hom_mat2d_to_pose(const Htuple Homography, const Htuple CameraMatrix, const Htuple Method, Htuple* Pose)

void ProjHomMat2dToPose(const HTuple& Homography, const HTuple& CameraMatrix, const HTuple& Method, HTuple* Pose)

static HPose HImage::ProjHomMat2dToPose(const HHomMat2D& Homography, const HHomMat2D& CameraMatrix, const HString& Method)

static HPose HImage::ProjHomMat2dToPose(const HHomMat2D& Homography, const HHomMat2D& CameraMatrix, const char* Method)

static HPose HImage::ProjHomMat2dToPose(const HHomMat2D& Homography, const HHomMat2D& CameraMatrix, const wchar_t* Method)   ( Windows only)

static void HOperatorSet.ProjHomMat2dToPose(HTuple homography, HTuple cameraMatrix, HTuple method, out HTuple pose)

static HPose HImage.ProjHomMat2dToPose(HHomMat2D homography, HHomMat2D cameraMatrix, string method)

def proj_hom_mat2d_to_pose(homography: Sequence[float], camera_matrix: Sequence[float], method: str) -> Sequence[Union[float, int]]

Description

proj_hom_mat2d_to_poseproj_hom_mat2d_to_poseProjHomMat2dToPoseProjHomMat2dToPoseproj_hom_mat2d_to_pose computes a pose out of a homography HomographyHomographyHomographyhomographyhomography that describes the relation between 2D world- (unit meters) and 2D image coordinates. The homography can be obtained by the use of vector_to_proj_hom_mat2dvector_to_proj_hom_mat2dVectorToProjHomMat2dVectorToProjHomMat2dvector_to_proj_hom_mat2d. To compute a pose, a camera matrix (obtained by cam_par_to_cam_matcam_par_to_cam_matCamParToCamMatCamParToCamMatcam_par_to_cam_mat, for example) has to be passed in CameraMatrixCameraMatrixCameraMatrixcameraMatrixcamera_matrix. By setting the Parameter MethodMethodMethodmethodmethod, it is possible to choose which computation algorithm is used. Currently a direct decomposition (MethodMethodMethodmethodmethod = 'decomposition') and a singular value decomposition based method (MethodMethodMethodmethodmethod = 'decomposition_svd') are supported. In general due to numeric reasons, the direct decomposition method returns more stable results.

The subsequent calls of vector_to_proj_hom_mat2dvector_to_proj_hom_mat2dVectorToProjHomMat2dVectorToProjHomMat2dvector_to_proj_hom_mat2d and proj_hom_mat2d_to_poseproj_hom_mat2d_to_poseProjHomMat2dToPoseProjHomMat2dToPoseproj_hom_mat2d_to_pose are similar to vector_to_posevector_to_poseVectorToPoseVectorToPosevector_to_pose for 2D objects, whereas no refinement due to redundancy is possible.

Execution Information

  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).
  • Multithreading scope: global (may be called from any thread).
  • Processed without parallelization.

Parameters

HomographyHomographyHomographyhomographyhomography (input_control)  hom_mat2d HHomMat2D, HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

The homography from world- to image coordinates.

CameraMatrixCameraMatrixCameraMatrixcameraMatrixcamera_matrix (input_control)  hom_mat2d HHomMat2D, HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

The camera calibration matrix K.

MethodMethodMethodmethodmethod (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Type of pose computation.

Default: 'decomposition' "decomposition" "decomposition" "decomposition" "decomposition"

List of values: 'decomposition'"decomposition""decomposition""decomposition""decomposition", 'decomposition_svd'"decomposition_svd""decomposition_svd""decomposition_svd""decomposition_svd"

PosePosePoseposepose (output_control)  pose HPose, HTupleSequence[Union[float, int]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Pose of the 2D object.

Result

proj_hom_mat2d_to_poseproj_hom_mat2d_to_poseProjHomMat2dToPoseProjHomMat2dToPoseproj_hom_mat2d_to_pose returns 2 ( H_MSG_TRUE) if all parameter values are correct.

Possible Predecessors

image_points_to_world_planeimage_points_to_world_planeImagePointsToWorldPlaneImagePointsToWorldPlaneimage_points_to_world_plane, vector_to_proj_hom_mat2dvector_to_proj_hom_mat2dVectorToProjHomMat2dVectorToProjHomMat2dvector_to_proj_hom_mat2d

See also

vector_to_proj_hom_mat2dvector_to_proj_hom_mat2dVectorToProjHomMat2dVectorToProjHomMat2dvector_to_proj_hom_mat2d, image_points_to_world_planeimage_points_to_world_planeImagePointsToWorldPlaneImagePointsToWorldPlaneimage_points_to_world_plane, vector_to_posevector_to_poseVectorToPoseVectorToPosevector_to_pose, camera_calibrationcamera_calibrationCameraCalibrationCameraCalibrationcamera_calibration

Module

Calibration