vector_to_hom_mat3d T_vector_to_hom_mat3d VectorToHomMat3d VectorToHomMat3d vector_to_hom_mat3d (算子)
名称
vector_to_hom_mat3d T_vector_to_hom_mat3d VectorToHomMat3d VectorToHomMat3d vector_to_hom_mat3d — 根据点对应关系近似三维变换。
签名
void VectorToHomMat3d (const HTuple& TransformationType , const HTuple& Px , const HTuple& Py , const HTuple& Pz , const HTuple& Qx , const HTuple& Qy , const HTuple& Qz , HTuple* HomMat3D )
void HHomMat3D ::VectorToHomMat3d (const HString& TransformationType , const HTuple& Px , const HTuple& Py , const HTuple& Pz , const HTuple& Qx , const HTuple& Qy , const HTuple& Qz )
void HHomMat3D ::VectorToHomMat3d (const char* TransformationType , const HTuple& Px , const HTuple& Py , const HTuple& Pz , const HTuple& Qx , const HTuple& Qy , const HTuple& Qz )
void HHomMat3D ::VectorToHomMat3d (const wchar_t* TransformationType , const HTuple& Px , const HTuple& Py , const HTuple& Pz , const HTuple& Qx , const HTuple& Qy , const HTuple& Qz )
(
Windows only)
static void HOperatorSet .VectorToHomMat3d (HTuple transformationType , HTuple px , HTuple py , HTuple pz , HTuple qx , HTuple qy , HTuple qz , out HTuple homMat3D )
void HHomMat3D .VectorToHomMat3d (string transformationType , HTuple px , HTuple py , HTuple pz , HTuple qx , HTuple qy , HTuple qz )
def vector_to_hom_mat3d (transformation_type : str, px : Sequence[float], py : Sequence[float], pz : Sequence[float], qx : Sequence[float], qy : Sequence[float], qz : Sequence[float]) -> Sequence[float]
描述
vector_to_hom_mat3d vector_to_hom_mat3d VectorToHomMat3d VectorToHomMat3d VectorToHomMat3d vector_to_hom_mat3d approximates an affine or projective 3D
transformation from point correspondences and returns it as the
homogeneous transformation matrix HomMat3D HomMat3D HomMat3D HomMat3D homMat3D hom_mat_3d 。
The type of the 3D transformation to compute is specified with
TransformationType TransformationType TransformationType TransformationType transformationType transformation_type . For TransformationType TransformationType TransformationType TransformationType transformationType transformation_type =
'rigid' "rigid" "rigid" "rigid" "rigid" "rigid" , a rigid 3D transformation (a rotation and a
translation), for TransformationType TransformationType TransformationType TransformationType transformationType transformation_type =
'similarity' "similarity" "similarity" "similarity" "similarity" "similarity" , a 3D similarity transformation (a uniform
scaling, a rotation, and a translation), for
TransformationType TransformationType TransformationType TransformationType transformationType transformation_type = 'affine' "affine" "affine" "affine" "affine" "affine" a general affine
3D transformation, and for TransformationType TransformationType TransformationType TransformationType transformationType transformation_type =
'projective' "projective" "projective" "projective" "projective" "projective" a projective 3D transformation is computed.
The minimum required number of point correspondences is 3 for
TransformationType TransformationType TransformationType TransformationType transformationType transformation_type = 'rigid' "rigid" "rigid" "rigid" "rigid" "rigid" , 3 for
TransformationType TransformationType TransformationType TransformationType transformationType transformation_type = 'similarity' "similarity" "similarity" "similarity" "similarity" "similarity" , 4 for
TransformationType TransformationType TransformationType TransformationType transformationType transformation_type = 'affine' "affine" "affine" "affine" "affine" "affine" , and 5 for
TransformationType TransformationType TransformationType TransformationType transformationType transformation_type = 'projective' "projective" "projective" "projective" "projective" "projective" .
The point correspondences are passed in the tuples
(Px Px Px Px px px ,Py Py Py Py py py ,Pz Pz Pz Pz pz pz ) and
(Qx Qx Qx Qx qx qx ,Qy Qy Qy Qy qy qy ,Qz Qz Qz Qz qz qz ), where corresponding points
must be at the same index positions in the tuples. If more than the
minimum number of point correspondences are passed, the
transformation is overdetermined. In this case, the returned
transformation is the transformation that minimizes the distances
between the transformed input points
(Px Px Px Px px px ,Py Py Py Py py py ,Pz Pz Pz Pz pz pz ) and the points
(Qx Qx Qx Qx qx qx ,Qy Qy Qy Qy qy qy ,Qz Qz Qz Qz qz qz ), as described in the following
equation (points as homogeneous vectors):
HomMat3D HomMat3D HomMat3D HomMat3D homMat3D hom_mat_3d can be used directly with operators that transform
3D data using affine transformations, e.g.,
affine_trans_point_3d affine_trans_point_3d AffineTransPoint3d AffineTransPoint3d AffineTransPoint3d affine_trans_point_3d 。
执行信息
多线程类型:可重入(与非独占算子并行运行)。
多线程作用域:全局(可从任何线程调用)。
未采用并行化处理。
参数
TransformationType TransformationType TransformationType TransformationType transformationType transformation_type (输入控制) string → HTuple str HTuple Htuple (string) (string ) (HString ) (char* )
Type of the transformation to compute.
默认值:
'rigid'
"rigid"
"rigid"
"rigid"
"rigid"
"rigid"
值列表:
'affine' "affine" "affine" "affine" "affine" "affine" , 'projective' "projective" "projective" "projective" "projective" "projective" , 'rigid' "rigid" "rigid" "rigid" "rigid" "rigid" , 'similarity' "similarity" "similarity" "similarity" "similarity" "similarity"
Px Px Px Px px px (输入控制) point3d.x-array → HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
X coordinates of the original points.
Py Py Py Py py py (输入控制) point3d.y-array → HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Y coordinates of the original points.
Pz Pz Pz Pz pz pz (输入控制) point3d.z-array → HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Z coordinates of the original points.
Qx Qx Qx Qx qx qx (输入控制) point3d.x-array → HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
X coordinates of the transformed points.
Qy Qy Qy Qy qy qy (输入控制) point3d.x-array → HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Y coordinates of the transformed points.
Qz Qz Qz Qz qz qz (输入控制) point3d.z-array → HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Z coordinates of the transformed points.
HomMat3D HomMat3D HomMat3D HomMat3D homMat3D hom_mat_3d (输出控制) hom_mat3d → HHomMat3D , HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Output transformation matrix.
可能的后继
hom_mat3d_to_pose hom_mat3d_to_pose HomMat3dToPose HomMat3dToPose HomMat3dToPose hom_mat3d_to_pose ,
affine_trans_point_3d affine_trans_point_3d AffineTransPoint3d AffineTransPoint3d AffineTransPoint3d affine_trans_point_3d
另见
point_pluecker_line_to_hom_mat3d point_pluecker_line_to_hom_mat3d PointPlueckerLineToHomMat3d PointPlueckerLineToHomMat3d PointPlueckerLineToHomMat3d point_pluecker_line_to_hom_mat3d
模块
基础