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 project_point_hom_mat3d  applies the 3×4 projection matrix
HomMat3D HomMat3D HomMat3D homMat3D hom_mat_3d   to all input points
(Px Px Px px px  ,Py Py Py py py  ,Pz Pz Pz pz pz  ) and returns an array of output
points (Qx Qx Qx qx qx  ,Qy Qy Qy qy qy  ). The transformation is described by
the 3×4 projection matrix given in 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 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 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 calibrate_cameras  , Qx Qx Qx qx qx   corresponds to the column
coordinate of an image and 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 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   (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   (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   (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   (output_control)  real(-array) → HTuple Sequence[float] HTuple Htuple  (real)  (double )  (double )  (double )  
 
Output point (x coordinate).
 
  
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 cam_par_pose_to_hom_mat3d 
Alternatives 
project_hom_point_hom_mat3d project_hom_point_hom_mat3d ProjectHomPointHomMat3d ProjectHomPointHomMat3d project_hom_point_hom_mat3d , 
project_3d_point project_3d_point Project3dPoint Project3dPoint project_3d_point 
Module 
Foundation