project_point_hom_mat3d — Project a 3D point using a 3×4 projection matrix.
project_point_hom_mat3d applies the 3×4 projection matrix HomMat3D to all input points (Px,Py,Pz) and returns an array of output points (Qx,Qy). The transformation is described by the 3×4 projection matrix given in HomMat3D. This corresponds to the following equations (input and output points as homogeneous vectors):
/ Tx \ / Px \ | Ty | = HomMat3D * | Py | \ Tw / | Pz | \ 1 /
project_point_hom_mat3d then transforms the homogeneous coordinates to Euclidean coordinates by dividing them by Tw:
(Qx,Qy) = (Tx/Tw,Ty/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 can be used.
Note that, consistent with the conventions used by the projection in calibrate_cameras, Qx corresponds to the column coordinate of an image and Qy corresponds to the row coordinate.
3×4 projection matrix.
Input point (x coordinate).
Input point (y coordinate).
Input point (z coordinate).
Output point (x coordinate).
Output point (y coordinate).