vector_to_pose T_vector_to_pose VectorToPose VectorToPose vector_to_pose  (Operator) 
Name 
vector_to_pose T_vector_to_pose VectorToPose VectorToPose vector_to_pose 
Signature 
void VectorToPose (const HTuple& WorldX WorldY WorldZ ImageRow ImageColumn CameraParam Method QualityType Pose Quality 
static HPose  HImage ::VectorToPose (const HTuple& WorldX WorldY WorldZ ImageRow ImageColumn CameraParam Method QualityType Quality 
static HPose  HImage ::VectorToPose (const HTuple& WorldX WorldY WorldZ ImageRow ImageColumn CameraParam Method QualityType Quality 
static HPose  HImage ::VectorToPose (const HTuple& WorldX WorldY WorldZ ImageRow ImageColumn CameraParam Method QualityType Quality 
static HPose  HImage ::VectorToPose (const HTuple& WorldX WorldY WorldZ ImageRow ImageColumn CameraParam Method QualityType Quality 
            (Windows only)
           
HPose  HCamPar ::VectorToPose (const HTuple& WorldX WorldY WorldZ ImageRow ImageColumn Method QualityType Quality 
HPose  HCamPar ::VectorToPose (const HTuple& WorldX WorldY WorldZ ImageRow ImageColumn Method QualityType Quality 
HPose  HCamPar ::VectorToPose (const HTuple& WorldX WorldY WorldZ ImageRow ImageColumn Method QualityType Quality 
HPose  HCamPar ::VectorToPose (const HTuple& WorldX WorldY WorldZ ImageRow ImageColumn Method QualityType Quality 
            (Windows only)
           
HTuple  HPose ::VectorToPose (const HTuple& WorldX WorldY WorldZ ImageRow ImageColumn CameraParam Method QualityType 
double HPose ::VectorToPose (const HTuple& WorldX WorldY WorldZ ImageRow ImageColumn CameraParam Method QualityType 
double HPose ::VectorToPose (const HTuple& WorldX WorldY WorldZ ImageRow ImageColumn CameraParam Method QualityType 
double HPose ::VectorToPose (const HTuple& WorldX WorldY WorldZ ImageRow ImageColumn CameraParam Method QualityType 
            (Windows only)
           
 
static void HOperatorSet .VectorToPose (HTuple  worldX HTuple  worldY HTuple  worldZ HTuple  imageRow HTuple  imageColumn HTuple  cameraParam HTuple  method HTuple  qualityType HTuple  pose HTuple  quality 
static HPose  HImage .VectorToPose (HTuple  worldX HTuple  worldY HTuple  worldZ HTuple  imageRow HTuple  imageColumn HCamPar  cameraParam method HTuple  qualityType HTuple  quality 
static HPose  HImage .VectorToPose (HTuple  worldX HTuple  worldY HTuple  worldZ HTuple  imageRow HTuple  imageColumn HCamPar  cameraParam method qualityType quality 
HPose  HCamPar .VectorToPose (HTuple  worldX HTuple  worldY HTuple  worldZ HTuple  imageRow HTuple  imageColumn method HTuple  qualityType HTuple  quality 
HPose  HCamPar .VectorToPose (HTuple  worldX HTuple  worldY HTuple  worldZ HTuple  imageRow HTuple  imageColumn method qualityType quality 
HTuple  HPose .VectorToPose (HTuple  worldX HTuple  worldY HTuple  worldZ HTuple  imageRow HTuple  imageColumn HCamPar  cameraParam method HTuple  qualityType 
double HPose .VectorToPose (HTuple  worldX HTuple  worldY HTuple  worldZ HTuple  imageRow HTuple  imageColumn HCamPar  cameraParam method qualityType 
 
def vector_to_pose (world_x world_y world_z image_row image_column camera_param method quality_type 
def vector_to_pose_s (world_x world_y world_z image_row image_column camera_param method quality_type 
 
Description 
The operator vector_to_pose vector_to_pose VectorToPose VectorToPose VectorToPose vector_to_pose Method Method Method Method method method WorldX WorldX WorldX WorldX worldX world_x WorldY WorldY WorldY WorldY worldY world_y WorldZ WorldZ WorldZ WorldZ worldZ world_z ImageRow ImageRow ImageRow ImageRow imageRow image_row ImageColumn ImageColumn ImageColumn ImageColumn imageColumn image_column CameraParam CameraParam CameraParam CameraParam cameraParam camera_param 
  
    
       
    
       
    
       
    
       
   
  
     
  
     
  
     
  
     
 ccs  denotes the camera coordinate system and
wcs  the world coordinate system
(see Transformations / Poses 
and “Solution Guide III-C - 3D Vision”). 
Parameter Method 
By setting the parameter Method Method Method Method method method 
Methods supported for perspective cameras :
Method Method Method Method method method  
 When to use   
Minimum number of point correspondences   
 
'analytic' "analytic" "analytic" "analytic" "analytic" "analytic"  
 Default method for general cases  
 4  
 
'iterative' "iterative" "iterative" "iterative" "iterative" "iterative"  
 If only three or four point correspondences
are used or if the world points are close to being planar  
 3  
 
'planar_analytic' "planar_analytic" "planar_analytic" "planar_analytic" "planar_analytic" "planar_analytic"  
 If the world points lie in a horizontal
plane (
  
    
       
    
       
    
       
    
       
    
       
    
       
    
       
    
       
   
  
     
  
     
  
     
  
 4
 
 
Methods supported for telecentric cameras :
Method Method Method Method method method  
 When to use   
Minimum number of point correspondences   
 
'telecentric' "telecentric" "telecentric" "telecentric" "telecentric" "telecentric"  
 Default method for general cases  
 4  
 
'telecentric_robust' "telecentric_robust" "telecentric_robust" "telecentric_robust" "telecentric_robust" "telecentric_robust"  
 For very ill-posed point
configurations where Quality Quality Quality Quality quality quality  
4  
 
'telecentric_planar' "telecentric_planar" "telecentric_planar" "telecentric_planar" "telecentric_planar" "telecentric_planar"  
 If the world points lie in a
horizontal plane (
  
    
       
    
       
    
       
    
       
    
       
    
       
    
       
    
       
   
  
     
  
     
  
     
  
3  
 
'telecentric_planar_robust' "telecentric_planar_robust" "telecentric_planar_robust" "telecentric_planar_robust" "telecentric_planar_robust" "telecentric_planar_robust"  
 For very ill-posed point
configurations where the world points lie in a horizontal plane
(
  
    
       
    
       
    
       
    
       
    
       
    
       
    
       
    
       
   
  
     
  
     
  
     
 Quality Quality Quality Quality quality quality  
 3
 
 
Parameters CameraParam and Quality 
All methods need the inner camera parameters obtained from
camera_calibration camera_calibration CameraCalibration CameraCalibration CameraCalibration camera_calibration CameraParam CameraParam CameraParam CameraParam cameraParam camera_param 
The user can specify in QualityType QualityType QualityType QualityType qualityType quality_type Quality Quality Quality Quality quality quality 'error' "error" "error" "error" "error" "error" 
General Remarks 
If a method for planar world points is chosen, all world points are
assumed to lie in the plane 
  
    
       
    
       
    
       
    
       
    
       
    
       
    
       
    
       
   
  
     
  
     
  
     
 WorldZ WorldZ WorldZ WorldZ worldZ world_z [] ) since only 2D
correspondences are used in this case.
For telecentric cameras, the translation in z  obviously
cannot be determined.  It is set to 0  in Pose Pose Pose Pose pose pose 
For planar world points and telecentric cameras, there are always
two possible equivalent poses.  This ambiguity can only be resolved
by some additional knowledge.  vector_to_pose vector_to_pose VectorToPose VectorToPose VectorToPose vector_to_pose 
  
    
       
   
  
     
 
  
    
       
   
  
     
 Pose Pose Pose Pose pose pose 
  
    
       
    
       
    
       
    
       
    
       
   
  
     
  
     
  
     
 
  
    
       
    
       
    
       
    
       
    
       
   
  
     
  
     
  
     
 
Attention 
The method 'analytic' "analytic" "analytic" "analytic" "analytic" "analytic" 
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 
  
WorldX WorldX WorldX WorldX worldX world_x number-array → HTuple Sequence[Union[float, int]] HTuple Htuple  (real /  integer)  (double  /  int /  long)  (double  /  Hlong)  (double  /  Hlong)  
 
X-Component of world coordinates.
Number of elements:  WorldX >= 4
 
  
WorldY WorldY WorldY WorldY worldY world_y number-array → HTuple Sequence[Union[float, int]] HTuple Htuple  (real /  integer)  (double  /  int /  long)  (double  /  Hlong)  (double  /  Hlong)  
 
Y-Component of world coordinates.
Number of elements:  WorldY == WorldX
 
  
WorldZ WorldZ WorldZ WorldZ worldZ world_z number-array → HTuple Sequence[Union[float, int]] HTuple Htuple  (real /  integer)  (double  /  int /  long)  (double  /  Hlong)  (double  /  Hlong)  
 
Z-Component of world coordinates.
Number of elements:  WorldZ == WorldX || WorldZ == 0
 
  
ImageRow ImageRow ImageRow ImageRow imageRow image_row number-array → HTuple Sequence[Union[float, int]] HTuple Htuple  (real /  integer)  (double  /  int /  long)  (double  /  Hlong)  (double  /  Hlong)  
 
Row-Component of image coordinates.
Number of elements:  ImageRow == WorldX
 
  
ImageColumn ImageColumn ImageColumn ImageColumn imageColumn image_column number-array → HTuple Sequence[Union[float, int]] HTuple Htuple  (real /  integer)  (double  /  int /  long)  (double  /  Hlong)  (double  /  Hlong)  
 
Column-Component of image coordinates.
Number of elements:  ImageColumn == WorldX
 
  
CameraParam CameraParam CameraParam CameraParam cameraParam camera_param campar → HCamPar , HTuple Sequence[Union[float, int, str]] HTuple Htuple  (real /  integer /  string)  (double  /  int /  long /  string)  (double  /  Hlong /  HString)  (double  /  Hlong /  char*)  
 
The inner camera parameters from camera calibration.
 
  
Method Method Method Method method method string → HTuple str HTuple Htuple  (string)  (string )  (HString )  (char* )  
 
Kind of algorithm
Default value:  
    'iterative' 
    "iterative" 
    "iterative" 
    "iterative" 
    "iterative" 
    "iterative" 
List of values:  'analytic' "analytic" "analytic" "analytic" "analytic" "analytic" , 'iterative' "iterative" "iterative" "iterative" "iterative" "iterative" , 'planar_analytic' "planar_analytic" "planar_analytic" "planar_analytic" "planar_analytic" "planar_analytic" , 'telecentric' "telecentric" "telecentric" "telecentric" "telecentric" "telecentric" , 'telecentric_planar' "telecentric_planar" "telecentric_planar" "telecentric_planar" "telecentric_planar" "telecentric_planar" , 'telecentric_planar_robust' "telecentric_planar_robust" "telecentric_planar_robust" "telecentric_planar_robust" "telecentric_planar_robust" "telecentric_planar_robust" , 'telecentric_robust' "telecentric_robust" "telecentric_robust" "telecentric_robust" "telecentric_robust" "telecentric_robust" 
 
  
QualityType QualityType QualityType QualityType qualityType quality_type string(-array) → HTuple MaybeSequence[str] HTuple Htuple  (string)  (string )  (HString )  (char* )  
 
Type of pose quality to be returned in Quality.
Default value:  
    'error' 
    "error" 
    "error" 
    "error" 
    "error" 
    "error" 
List of values:  'error' "error" "error" "error" "error" "error" 
 
  
Pose Pose Pose Pose pose pose pose → HPose , HTuple Sequence[Union[float, int]] HTuple Htuple  (real /  integer)  (double  /  int /  long)  (double  /  Hlong)  (double  /  Hlong)  
 
Pose.
 
  
Quality Quality Quality Quality quality quality number(-array) → HTuple Sequence[Union[float, int]] HTuple Htuple  (real /  integer)  (double  /  int /  long)  (double  /  Hlong)  (double  /  Hlong)  
 
Pose quality.
 
Result 
vector_to_pose vector_to_pose VectorToPose VectorToPose VectorToPose vector_to_pose 
See also 
proj_hom_mat2d_to_pose proj_hom_mat2d_to_pose ProjHomMat2dToPose ProjHomMat2dToPose ProjHomMat2dToPose proj_hom_mat2d_to_pose vector_to_rel_pose vector_to_rel_pose VectorToRelPose VectorToRelPose VectorToRelPose vector_to_rel_pose camera_calibration camera_calibration CameraCalibration CameraCalibration CameraCalibration camera_calibration 
References 
[1] Francesc Moreno-Noguer, Vincent Lepetit, and Pascal Fua:
“Accurate Non-Iterative O(n) Solution to the PnP Problem”;
Eleventh IEEE International Conference on Computer Vision, 2007.
n -Point
Problem”; Journal of Mathematical Imaging and Vision, vol. 60,
no. 2, pp. 246-266, 2018.
Module 
Calibration