ClassesClasses | | Operators

projective_trans_pixelT_projective_trans_pixelProjectiveTransPixelProjectiveTransPixel (Operator)

Name

projective_trans_pixelT_projective_trans_pixelProjectiveTransPixelProjectiveTransPixel — Project pixel coordinates using a homogeneous projective transformation matrix.

Signature

projective_trans_pixel( : : HomMat2D, Row, Col : RowTrans, ColTrans)

Herror T_projective_trans_pixel(const Htuple HomMat2D, const Htuple Row, const Htuple Col, Htuple* RowTrans, Htuple* ColTrans)

void ProjectiveTransPixel(const HTuple& HomMat2D, const HTuple& Row, const HTuple& Col, HTuple* RowTrans, HTuple* ColTrans)

void HHomMat2D::ProjectiveTransPixel(const HTuple& Row, const HTuple& Col, HTuple* RowTrans, HTuple* ColTrans) const

void HHomMat2D::ProjectiveTransPixel(double Row, double Col, double* RowTrans, double* ColTrans) const

static void HOperatorSet.ProjectiveTransPixel(HTuple homMat2D, HTuple row, HTuple col, out HTuple rowTrans, out HTuple colTrans)

void HHomMat2D.ProjectiveTransPixel(HTuple row, HTuple col, out HTuple rowTrans, out HTuple colTrans)

void HHomMat2D.ProjectiveTransPixel(double row, double col, out double rowTrans, out double colTrans)

Description

projective_trans_pixelprojective_trans_pixelProjectiveTransPixelProjectiveTransPixelProjectiveTransPixel applies the homogeneous projective transformation matrix HomMat2DHomMat2DHomMat2DHomMat2DhomMat2D to all input pixels (RowRowRowRowrow,ColColColColcol) and returns an array of output pixels (RowTransRowTransRowTransRowTransrowTrans,ColTransColTransColTransColTranscolTrans). The transformation is described by the homogeneous transformation matrix given in HomMat2DHomMat2DHomMat2DHomMat2DhomMat2D.

The difference between projective_trans_pixelprojective_trans_pixelProjectiveTransPixelProjectiveTransPixelProjectiveTransPixel and projective_trans_point_2dprojective_trans_point_2dProjectiveTransPoint2dProjectiveTransPoint2dProjectiveTransPoint2d lies in the used coordinate system: projective_trans_pixelprojective_trans_pixelProjectiveTransPixelProjectiveTransPixelProjectiveTransPixel uses a coordinate system with origin in the upper left corner of the image, while projective_trans_point_2dprojective_trans_point_2dProjectiveTransPoint2dProjectiveTransPoint2dProjectiveTransPoint2d uses the standard image coordinate system, whose origin lies in the middle of the upper left pixel and which is also used by operators like area_centerarea_centerAreaCenterAreaCenterAreaCenter.

projective_trans_pixelprojective_trans_pixelProjectiveTransPixelProjectiveTransPixelProjectiveTransPixel corresponds to the following steps (input and output points as homogeneous vectors):

If a point at infinity (WTrans = 0) is created by the transformation, an error is returned.

Execution Information

Parameters

HomMat2DHomMat2DHomMat2DHomMat2DhomMat2D (input_control)  hom_mat2d HHomMat2D, HTupleHTupleHtuple (real) (double) (double) (double)

Homogeneous projective transformation matrix.

RowRowRowRowrow (input_control)  point.x(-array) HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Input pixel(s) (row coordinate).

Default value: 64

Suggested values: 0, 16, 32, 64, 128, 256, 512, 1024

ColColColColcol (input_control)  point.y(-array) HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Input pixel(s) (column coordinate).

Default value: 64

Suggested values: 0, 16, 32, 64, 128, 256, 512, 1024

RowTransRowTransRowTransRowTransrowTrans (output_control)  point.x(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Output pixel(s) (row coordinate).

ColTransColTransColTransColTranscolTrans (output_control)  point.y(-array) HTupleHTupleHtuple (real) (double) (double) (double)

Output pixel(s) (column coordinate).

Possible Predecessors

vector_to_proj_hom_mat2dvector_to_proj_hom_mat2dVectorToProjHomMat2dVectorToProjHomMat2dVectorToProjHomMat2d, hom_vector_to_proj_hom_mat2dhom_vector_to_proj_hom_mat2dHomVectorToProjHomMat2dHomVectorToProjHomMat2dHomVectorToProjHomMat2d, proj_match_points_ransacproj_match_points_ransacProjMatchPointsRansacProjMatchPointsRansacProjMatchPointsRansac, proj_match_points_ransac_guidedproj_match_points_ransac_guidedProjMatchPointsRansacGuidedProjMatchPointsRansacGuidedProjMatchPointsRansacGuided, hom_mat3d_projecthom_mat3d_projectHomMat3dProjectHomMat3dProjectHomMat3dProject

See also

projective_trans_imageprojective_trans_imageProjectiveTransImageProjectiveTransImageProjectiveTransImage, projective_trans_image_sizeprojective_trans_image_sizeProjectiveTransImageSizeProjectiveTransImageSizeProjectiveTransImageSize, projective_trans_regionprojective_trans_regionProjectiveTransRegionProjectiveTransRegionProjectiveTransRegion, projective_trans_contour_xldprojective_trans_contour_xldProjectiveTransContourXldProjectiveTransContourXldProjectiveTransContourXld, projective_trans_point_2dprojective_trans_point_2dProjectiveTransPoint2dProjectiveTransPoint2dProjectiveTransPoint2d

Module

Foundation


ClassesClasses | | Operators