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