ClassesClassesClassesClasses | | | | Operators

project_point_hom_mat3dT_project_point_hom_mat3dProjectPointHomMat3dproject_point_hom_mat3dProjectPointHomMat3dProjectPointHomMat3d (Operator)

Name

project_point_hom_mat3dT_project_point_hom_mat3dProjectPointHomMat3dproject_point_hom_mat3dProjectPointHomMat3dProjectPointHomMat3d — Project a 3D point using a 3×4 projection matrix.

Signature

project_point_hom_mat3d( : : HomMat3D, Px, Py, Pz : Qx, Qy)

Herror T_project_point_hom_mat3d(const Htuple HomMat3D, const Htuple Px, const Htuple Py, const Htuple Pz, Htuple* Qx, Htuple* Qy)

Herror project_point_hom_mat3d(const HTuple& HomMat3D, const HTuple& Px, const HTuple& Py, const HTuple& Pz, double* Qx, double* Qy)

Herror project_point_hom_mat3d(const HTuple& HomMat3D, const HTuple& Px, const HTuple& Py, const HTuple& Pz, HTuple* Qx, HTuple* Qy)

void ProjectPointHomMat3d(const HTuple& HomMat3D, const HTuple& Px, const HTuple& Py, const HTuple& Pz, HTuple* Qx, HTuple* Qy)

HTuple HHomMat3D::ProjectPointHomMat3d(const HTuple& Px, const HTuple& Py, const HTuple& Pz, HTuple* Qy) const

double HHomMat3D::ProjectPointHomMat3d(double Px, double Py, double Pz, double* Qy) const

void HOperatorSetX.ProjectPointHomMat3d(
[in] VARIANT HomMat3d, [in] VARIANT Px, [in] VARIANT Py, [in] VARIANT Pz, [out] VARIANT* Qx, [out] VARIANT* Qy)

VARIANT HHomMat3DX.ProjectPointHomMat3d(
[in] VARIANT Px, [in] VARIANT Py, [in] VARIANT Pz, [out] VARIANT* Qy)

static void HOperatorSet.ProjectPointHomMat3d(HTuple homMat3D, HTuple px, HTuple py, HTuple pz, out HTuple qx, out HTuple qy)

HTuple HHomMat3D.ProjectPointHomMat3d(HTuple px, HTuple py, HTuple pz, out HTuple qy)

double HHomMat3D.ProjectPointHomMat3d(double px, double py, double pz, out double qy)

Description

project_point_hom_mat3dproject_point_hom_mat3dProjectPointHomMat3dproject_point_hom_mat3dProjectPointHomMat3dProjectPointHomMat3d applies the 3×4 projection matrix HomMat3DHomMat3DHomMat3DHomMat3DHomMat3DhomMat3D to all input points (PxPxPxPxPxpx,PyPyPyPyPypy,PzPzPzPzPzpz) and returns an array of output points (QxQxQxQxQxqx,QyQyQyQyQyqy). The transformation is described by the 3×4 projection matrix given in HomMat3DHomMat3DHomMat3DHomMat3DHomMat3DhomMat3D. This corresponds to the following equations (input and output points as homogeneous vectors):

  / Tx \              / Px \
  | Ty | = HomMat3D * | Py |
  \ Tw /              | Pz |
                      \  1 /

project_point_hom_mat3dproject_point_hom_mat3dProjectPointHomMat3dproject_point_hom_mat3dProjectPointHomMat3dProjectPointHomMat3d then transforms the homogeneous coordinates to Euclidean coordinates by dividing them by Tw:

(Qx,Qy) = (Tx/Tw,Ty/Tw)

If a point on the line at infinity (Tw = 0) is created by the transformation, an error is returned. If this is undesired, project_hom_point_hom_mat3dproject_hom_point_hom_mat3dProjectHomPointHomMat3dproject_hom_point_hom_mat3dProjectHomPointHomMat3dProjectHomPointHomMat3d can be used.

Note that, consistent with the conventions used by the projection in calibrate_camerascalibrate_camerasCalibrateCamerascalibrate_camerasCalibrateCamerasCalibrateCameras, QxQxQxQxQxqx corresponds to the column coordinate of an image and QyQyQyQyQyqy corresponds to the row coordinate.

Parallelization

Parameters

HomMat3DHomMat3DHomMat3DHomMat3DHomMat3DhomMat3D (input_control)  hom_mat3d HHomMat3D, HTupleHTupleHTupleHHomMat3DX, VARIANTHtuple (real) (double) (double) (double) (double) (double)

3×4 projection matrix.

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

Input point (x coordinate).

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

Input point (y coordinate).

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

Input point (z coordinate).

QxQxQxQxQxqx (output_control)  real(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Output point (x coordinate).

QyQyQyQyQyqy (output_control)  real(-array) HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Output point (y coordinate).

Possible Predecessors

cam_par_pose_to_hom_mat3dcam_par_pose_to_hom_mat3dCamParPoseToHomMat3dcam_par_pose_to_hom_mat3dCamParPoseToHomMat3dCamParPoseToHomMat3d

Alternatives

project_hom_point_hom_mat3dproject_hom_point_hom_mat3dProjectHomPointHomMat3dproject_hom_point_hom_mat3dProjectHomPointHomMat3dProjectHomPointHomMat3d, project_3d_pointproject_3d_pointProject3dPointproject_3d_pointProject3dPointProject3dPoint

Module

Foundation


ClassesClassesClassesClasses | | | | Operators