projective_trans_point_2d T_projective_trans_point_2d ProjectiveTransPoint2d ProjectiveTransPoint2d projective_trans_point_2d (Operator)
Name
projective_trans_point_2d T_projective_trans_point_2d ProjectiveTransPoint2d ProjectiveTransPoint2d projective_trans_point_2d
— Project a homogeneous 2D point using a projective transformation
matrix.
Signature
Herror T_projective_trans_point_2d (const Htuple HomMat2D , const Htuple Px , const Htuple Py , const Htuple Pw , Htuple* Qx , Htuple* Qy , Htuple* Qw )
void ProjectiveTransPoint2d (const HTuple& HomMat2D , const HTuple& Px , const HTuple& Py , const HTuple& Pw , HTuple* Qx , HTuple* Qy , HTuple* Qw )
HTuple HHomMat2D ::ProjectiveTransPoint2d (const HTuple& Px , const HTuple& Py , const HTuple& Pw , HTuple* Qy , HTuple* Qw ) const
double HHomMat2D ::ProjectiveTransPoint2d (double Px , double Py , double Pw , double* Qy , double* Qw ) const
static void HOperatorSet .ProjectiveTransPoint2d (HTuple homMat2D , HTuple px , HTuple py , HTuple pw , out HTuple qx , out HTuple qy , out HTuple qw )
HTuple HHomMat2D .ProjectiveTransPoint2d (HTuple px , HTuple py , HTuple pw , out HTuple qy , out HTuple qw )
double HHomMat2D .ProjectiveTransPoint2d (double px , double py , double pw , out double qy , out double qw )
def projective_trans_point_2d (hom_mat_2d : Sequence[float], px : MaybeSequence[Union[float, int]], py : MaybeSequence[Union[float, int]], pw : MaybeSequence[Union[float, int]]) -> Tuple[Sequence[float], Sequence[float], Sequence[float]]
def projective_trans_point_2d_s (hom_mat_2d : Sequence[float], px : MaybeSequence[Union[float, int]], py : MaybeSequence[Union[float, int]], pw : MaybeSequence[Union[float, int]]) -> Tuple[float, float, float]
Description
projective_trans_point_2d projective_trans_point_2d ProjectiveTransPoint2d ProjectiveTransPoint2d ProjectiveTransPoint2d projective_trans_point_2d
applies the homogeneous projective
transformation matrix HomMat2D HomMat2D HomMat2D HomMat2D homMat2D hom_mat_2d
to all homogeneous input
points (Px Px Px Px px px
,Py Py Py Py py py
,Pw Pw Pw Pw pw pw
) and returns an array of
homogeneous output points (Qx Qx Qx Qx qx qx
,Qy Qy Qy Qy qy qy
,Qw Qw Qw Qw qw qw
). The
transformation is described by the homogeneous transformation matrix
given in HomMat2D HomMat2D HomMat2D HomMat2D homMat2D hom_mat_2d
. This corresponds to the following
equation (input and output points as homogeneous vectors):
To transform the homogeneous coordinates to Euclidean coordinates,
they have to be divided by Qw Qw Qw Qw qw qw
:
If the points to transform are specified in standard image
coordinates, their row coordinates must be passed in
Px Px Px Px px px
and their column coordinates in Py Py Py Py py py
. This
is necessary to obtain a right-handed coordinate system for the
image. In particular, this assures that rotations are performed in
the correct direction. Note that the (x,y) order of the
matrices quite naturally corresponds to the usual (row,column) order
for coordinates in the image.
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
HomMat2D HomMat2D HomMat2D HomMat2D homMat2D hom_mat_2d
(input_control) hom_mat2d →
HHomMat2D , HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Homogeneous projective transformation 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).
Pw Pw Pw Pw pw pw
(input_control) number(-array) →
HTuple MaybeSequence[Union[float, int]] HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Input point (w coordinate).
Qx Qx Qx Qx qx qx
(output_control) number(-array) →
HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Output point (x coordinate).
Qy Qy Qy Qy qy qy
(output_control) number(-array) →
HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Output point (y coordinate).
Qw Qw Qw Qw qw qw
(output_control) number(-array) →
HTuple Sequence[float] HTuple Htuple (real) (double ) (double ) (double )
Output point (w coordinate).
Possible Predecessors
vector_to_proj_hom_mat2d vector_to_proj_hom_mat2d VectorToProjHomMat2d VectorToProjHomMat2d VectorToProjHomMat2d vector_to_proj_hom_mat2d
,
hom_vector_to_proj_hom_mat2d hom_vector_to_proj_hom_mat2d HomVectorToProjHomMat2d HomVectorToProjHomMat2d HomVectorToProjHomMat2d hom_vector_to_proj_hom_mat2d
,
proj_match_points_ransac proj_match_points_ransac ProjMatchPointsRansac ProjMatchPointsRansac ProjMatchPointsRansac proj_match_points_ransac
,
proj_match_points_ransac_guided proj_match_points_ransac_guided ProjMatchPointsRansacGuided ProjMatchPointsRansacGuided ProjMatchPointsRansacGuided proj_match_points_ransac_guided
,
hom_mat3d_project hom_mat3d_project HomMat3dProject HomMat3dProject HomMat3dProject hom_mat3d_project
See also
projective_trans_image projective_trans_image ProjectiveTransImage ProjectiveTransImage ProjectiveTransImage projective_trans_image
,
projective_trans_image_size projective_trans_image_size ProjectiveTransImageSize ProjectiveTransImageSize ProjectiveTransImageSize projective_trans_image_size
,
projective_trans_region projective_trans_region ProjectiveTransRegion ProjectiveTransRegion ProjectiveTransRegion projective_trans_region
,
projective_trans_contour_xld projective_trans_contour_xld ProjectiveTransContourXld ProjectiveTransContourXld ProjectiveTransContourXld projective_trans_contour_xld
,
projective_trans_pixel projective_trans_pixel ProjectiveTransPixel ProjectiveTransPixel ProjectiveTransPixel projective_trans_pixel
Module
Foundation