projective_trans_point_2dT_projective_trans_point_2dProjectiveTransPoint2dProjectiveTransPoint2d — Project a homogeneous 2D point using a projective transformation
matrix.
double HHomMat2D.ProjectiveTransPoint2d(double px, double py, double pw, out double qy, out double qw)
Description
projective_trans_point_2dprojective_trans_point_2dProjectiveTransPoint2dProjectiveTransPoint2dProjectiveTransPoint2d applies the homogeneous projective
transformation matrix HomMat2DHomMat2DHomMat2DHomMat2DhomMat2D to all homogeneous input
points (PxPxPxPxpx,PyPyPyPypy,PwPwPwPwpw) and returns an array of
homogeneous output points (QxQxQxQxqx,QyQyQyQyqy,QwQwQwQwqw). The
transformation is described by the homogeneous transformation matrix
given in HomMat2DHomMat2DHomMat2DHomMat2DhomMat2D. 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 QwQwQwQwqw:
If the points to transform are specified in standard image
coordinates, their row coordinates must be passed in
PxPxPxPxpx and their column coordinates in PyPyPyPypy. 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).