vector_angle_to_rigid T_vector_angle_to_rigid VectorAngleToRigid VectorAngleToRigid (Operator)
Name
vector_angle_to_rigid T_vector_angle_to_rigid VectorAngleToRigid VectorAngleToRigid
— Berechnet eine starre affine Transformation aus Punkten und Winkeln.
Signatur
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 )
Beschreibung
vector_angle_to_rigid vector_angle_to_rigid VectorAngleToRigid VectorAngleToRigid VectorAngleToRigid
berechnet aus einer Punktkorrespondenz und zwei
zugehörigen Winkeln eine starre affine Transformation, d.h. eine
Transformation bestehend aus Rotation und Translation, und liefert sie in der
homogenen Transformationsmatrix HomMat2D HomMat2D HomMat2D HomMat2D homMat2D
zurück. Diese beinhaltet 2
Komponenten: eine Rotationsmatrix R und einen
Translationsvektor t (siehe auch
hom_mat2d_rotate hom_mat2d_rotate HomMat2dRotate HomMat2dRotate HomMat2dRotate
und hom_mat2d_translate hom_mat2d_translate HomMat2dTranslate HomMat2dTranslate HomMat2dTranslate
):
Die Koordinaten des ursprünglichen Punktes werden in
(Row1 Row1 Row1 Row1 row1
,Column1 Column1 Column1 Column1 column1
) übergeben, der zugehörige Winkel in
Angle1 Angle1 Angle1 Angle1 angle1
. Die Koordinaten des transformierten Punktes werden in
(Row2 Row2 Row2 Row2 row2
,Column2 Column2 Column2 Column2 column2
) übergeben, der zugehörige Winkel in
Angle2 Angle2 Angle2 Angle2 angle2
. Die folgende Gleichung beschreibt die Transformation des
Punktes mit Hilfe homogener Vektoren:
Der Operator vector_angle_to_rigid vector_angle_to_rigid VectorAngleToRigid VectorAngleToRigid VectorAngleToRigid
ist insbesondere sinnvoll, um aus
den Ergebnissen von Matching-Operatoren (z.B. find_shape_model find_shape_model FindShapeModel FindShapeModel FindShapeModel
)
eine starre Transformation zu konstruieren, die
ein Referenzbild in das aktuelle Bild transformiert oder (wenn die Parameter
in der umgekehrten Reihenfolge übergeben werden) das aktuelle Bild in das
Referenzbild transformiert.
HomMat2D HomMat2D HomMat2D HomMat2D homMat2D
kann direkt mit den Operatoren, die Daten mit affinen
Abbildungen transformieren, z.B. affine_trans_image affine_trans_image AffineTransImage AffineTransImage AffineTransImage
, verwendet
werden.
Ausführungsinformationen
Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
Wird ohne Parallelisierung verarbeitet.
Parameter
Row1 Row1 Row1 Row1 row1
(input_control) point.y →
HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Zeilenkoordinate des Ausgangspunkts.
Column1 Column1 Column1 Column1 column1
(input_control) point.x →
HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Spaltenkoordinate des Ausgangspunkts.
Angle1 Angle1 Angle1 Angle1 angle1
(input_control) angle.rad →
HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Winkel des Ausgangspunkts.
Row2 Row2 Row2 Row2 row2
(input_control) point.y →
HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Zeilenkoordinate des transformierten Punkts.
Column2 Column2 Column2 Column2 column2
(input_control) point.x →
HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Spaltenkoordinate des transformierten Punkts.
Angle2 Angle2 Angle2 Angle2 angle2
(input_control) angle.rad →
HTuple HTuple Htuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Winkel des transformierten Punkts.
HomMat2D HomMat2D HomMat2D HomMat2D homMat2D
(output_control) hom_mat2d →
HHomMat2D , HTuple HTuple Htuple (real) (double ) (double ) (double )
Ausgabe-Transformationsmatrix.
Beispiel (HDevelop)
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)
Vorgänger
find_shape_model find_shape_model FindShapeModel FindShapeModel FindShapeModel
Nachfolger
hom_mat2d_invert hom_mat2d_invert HomMat2dInvert HomMat2dInvert HomMat2dInvert
,
affine_trans_image affine_trans_image AffineTransImage AffineTransImage AffineTransImage
,
affine_trans_region affine_trans_region AffineTransRegion AffineTransRegion AffineTransRegion
,
affine_trans_contour_xld affine_trans_contour_xld AffineTransContourXld AffineTransContourXld AffineTransContourXld
,
affine_trans_polygon_xld affine_trans_polygon_xld AffineTransPolygonXld AffineTransPolygonXld AffineTransPolygonXld
,
affine_trans_point_2d affine_trans_point_2d AffineTransPoint2d AffineTransPoint2d AffineTransPoint2d
Alternativen
vector_to_rigid vector_to_rigid VectorToRigid VectorToRigid VectorToRigid
Siehe auch
vector_field_to_hom_mat2d vector_field_to_hom_mat2d VectorFieldToHomMat2d VectorFieldToHomMat2d VectorFieldToHomMat2d
Modul
Foundation