project_point_hom_mat3d T_project_point_hom_mat3d ProjectPointHomMat3d ProjectPointHomMat3d project_point_hom_mat3d (Operator)
Name
project_point_hom_mat3d T_project_point_hom_mat3d ProjectPointHomMat3d ProjectPointHomMat3d project_point_hom_mat3d — Project a 3D point using a 3×4 projection matrix.
Signature
Herror T_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
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 )
def project_point_hom_mat3d (hom_mat_3d : Sequence[float], px : MaybeSequence[Union[float, int]], py : MaybeSequence[Union[float, int]], pz : MaybeSequence[Union[float, int]]) -> Tuple[Sequence[float], Sequence[float]]
def project_point_hom_mat3d_s (hom_mat_3d : Sequence[float], px : MaybeSequence[Union[float, int]], py : MaybeSequence[Union[float, int]], pz : MaybeSequence[Union[float, int]]) -> Tuple[float, float]
Description
project_point_hom_mat3d project_point_hom_mat3d ProjectPointHomMat3d ProjectPointHomMat3d ProjectPointHomMat3d project_point_hom_mat3d applies the 3×4 projection matrix
HomMat3D HomMat3D HomMat3D HomMat3D homMat3D hom_mat_3d to all input points
(Px Px Px Px px px ,Py Py Py Py py py ,Pz Pz Pz Pz pz pz ) and returns an array of output
points (Qx Qx Qx Qx qx qx ,Qy Qy Qy Qy qy qy ). The transformation is described by
the 3×4 projection matrix given in HomMat3D HomMat3D HomMat3D HomMat3D homMat3D hom_mat_3d . This
corresponds to the following equations (input and output points as
homogeneous vectors):
project_point_hom_mat3d project_point_hom_mat3d ProjectPointHomMat3d ProjectPointHomMat3d ProjectPointHomMat3d project_point_hom_mat3d then transforms the homogeneous
coordinates to Euclidean coordinates by dividing them by 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_mat3d project_hom_point_hom_mat3d ProjectHomPointHomMat3d ProjectHomPointHomMat3d ProjectHomPointHomMat3d project_hom_point_hom_mat3d can be used.
Note that, consistent with the conventions used by the projection in
calibrate_cameras calibrate_cameras CalibrateCameras CalibrateCameras CalibrateCameras calibrate_cameras , Qx Qx Qx Qx qx qx corresponds to the column
coordinate of an image and Qy Qy Qy Qy qy qy corresponds to the row
coordinate.
Execution Information
Multithreading type: reentrant (runs in parallel with non-exclusive operators).
Multithreading scope: global (may be called from any thread).
Automatically parallelized on internal data level.
Parameters
HomMat3D HomMat3D HomMat3D HomMat3D homMat3D hom_mat_3d (input_control) hom_mat3d → HHomMat3D , HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
3×4 projection matrix.
Px Px Px Px px px (input_control) number(-array) → HTuple MaybeSequence[Union[float, int]] HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Input point (x coordinate).
Py Py Py Py py py (input_control) number(-array) → HTuple MaybeSequence[Union[float, int]] HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Input point (y coordinate).
Pz Pz Pz Pz pz pz (input_control) number(-array) → HTuple MaybeSequence[Union[float, int]] HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Input point (z coordinate).
Qx Qx Qx Qx qx qx (output_control) real(-array) → HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Output point (x coordinate).
Qy Qy Qy Qy qy qy (output_control) real(-array) → HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Output point (y coordinate).
Possible Predecessors
cam_par_pose_to_hom_mat3d cam_par_pose_to_hom_mat3d CamParPoseToHomMat3d CamParPoseToHomMat3d CamParPoseToHomMat3d cam_par_pose_to_hom_mat3d
Alternatives
project_hom_point_hom_mat3d project_hom_point_hom_mat3d ProjectHomPointHomMat3d ProjectHomPointHomMat3d ProjectHomPointHomMat3d project_hom_point_hom_mat3d ,
project_3d_point project_3d_point Project3dPoint Project3dPoint Project3dPoint project_3d_point
Module
Foundation