Name
vector_angle_to_rigidT_vector_angle_to_rigidVectorAngleToRigidVectorAngleToRigid — Compute a rigid affine transformation from points and angles.
void VectorAngleToRigid(const HTuple& Row1, const HTuple& Column1, const HTuple& Angle1, const HTuple& Row2, const HTuple& Column2, const HTuple& Angle2, HTuple* HomMat2D)
void HHomMat2D::VectorAngleToRigid(const HTuple& Row1, const HTuple& Column1, const HTuple& Angle1, const HTuple& Row2, const HTuple& Column2, const HTuple& Angle2)
void HHomMat2D::VectorAngleToRigid(double Row1, double Column1, double Angle1, double Row2, double Column2, double Angle2)
static void HOperatorSet.VectorAngleToRigid(HTuple row1, HTuple column1, HTuple angle1, HTuple row2, HTuple column2, HTuple angle2, out HTuple homMat2D)
void HHomMat2D.VectorAngleToRigid(HTuple row1, HTuple column1, HTuple angle1, HTuple row2, HTuple column2, HTuple angle2)
void HHomMat2D.VectorAngleToRigid(double row1, double column1, double angle1, double row2, double column2, double angle2)
vector_angle_to_rigidvector_angle_to_rigidVectorAngleToRigidVectorAngleToRigidVectorAngleToRigid computes a rigid affine transformation, i.e., a
transformation consisting of a rotation and a translation, from a point
correspondence and two corresponding angles and returns it as the
homogeneous transformation matrix HomMat2DHomMat2DHomMat2DHomMat2DhomMat2D. The matrix consists of 2
components: a rotation matrix R and a
translation vector t (also see
hom_mat2d_rotatehom_mat2d_rotateHomMat2dRotateHomMat2dRotateHomMat2dRotate and hom_mat2d_translatehom_mat2d_translateHomMat2dTranslateHomMat2dTranslateHomMat2dTranslate):
The coordinates of the original point are passed in
(Row1Row1Row1Row1row1,Column1Column1Column1Column1column1), while the corresponding angle is passed in
Angle1Angle1Angle1Angle1angle1. The coordinates of the transformed point are passed in
(Row2Row2Row2Row2row2,Column2Column2Column2Column2column2), while the corresponding angle is passed in
Angle2Angle2Angle2Angle2angle2. The following equation describes the transformation of the
point using homogeneous vectors:
In particular, the operator vector_angle_to_rigidvector_angle_to_rigidVectorAngleToRigidVectorAngleToRigidVectorAngleToRigid is useful to
construct a rigid affine transformation from the results of the matching
operators (e.g., find_shape_modelfind_shape_modelFindShapeModelFindShapeModelFindShapeModel ),
which transforms a reference image to the current image or (if the parameters
are passed in reverse order) from the current image to the reference image.
HomMat2DHomMat2DHomMat2DHomMat2DhomMat2D can be used directly with operators that transform data
using affine transformations, e.g., affine_trans_imageaffine_trans_imageAffineTransImageAffineTransImageAffineTransImage.
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
Row coordinate of the original point.
Column coordinate of the original point.
Angle of the original point.
Row coordinate of the transformed point.
Column coordinate of the transformed point.
Angle of the transformed point.
Output transformation matrix.
create_shape_model (ImageReduced, 0, rad(-45), rad(180), 0, \
'none', 'use_polarity', 30, 10, ModelID)
get_shape_model_contours (ModelXLD, ModelID, 1)
find_shape_model (SearchImage, ModelID, rad(-45), rad(180), \
0.5, 1, 0.5, 'interpolation', \
0, 0, Row, Column, Angle, Score)
* Create transformation matrix
vector_angle_to_rigid (0, 0, 0, Row, Column, Angle, HomMat2DObject)
* Transform model contours for visualization
affine_trans_contour_xld (ModelXLD, ObjectXLD, HomMat2DObject)
* Calculate true position of the model origin in the search image
affine_trans_pixel (HomMat2DObject, 0, 0, RowObject, ColObject)
find_shape_modelfind_shape_modelFindShapeModelFindShapeModelFindShapeModel
hom_mat2d_inverthom_mat2d_invertHomMat2dInvertHomMat2dInvertHomMat2dInvert,
affine_trans_imageaffine_trans_imageAffineTransImageAffineTransImageAffineTransImage,
affine_trans_regionaffine_trans_regionAffineTransRegionAffineTransRegionAffineTransRegion,
affine_trans_contour_xldaffine_trans_contour_xldAffineTransContourXldAffineTransContourXldAffineTransContourXld,
affine_trans_polygon_xldaffine_trans_polygon_xldAffineTransPolygonXldAffineTransPolygonXldAffineTransPolygonXld,
affine_trans_point_2daffine_trans_point_2dAffineTransPoint2dAffineTransPoint2dAffineTransPoint2d
vector_to_rigidvector_to_rigidVectorToRigidVectorToRigidVectorToRigid
vector_field_to_hom_mat2dvector_field_to_hom_mat2dVectorFieldToHomMat2dVectorFieldToHomMat2dVectorFieldToHomMat2d
Foundation