projective_trans_contour_xld
— Anwenden einer projektiven Transformation auf eine XLD-Kontur.
projective_trans_contour_xld(Contours : ContoursProjTrans : HomMat2D : )
projective_trans_contour_xld
wendet die durch die homogene
Matrix HomMat2D
beschriebene projektive Transformation auf
die Konturen in Contours
an und liefert die
Ergebniskonturen in ContoursProjTrans
zurück.
Zur Berechnung und Interpretation der Matrix siehe
projective_trans_image
.
Der Transformation liegt das gleiche Koordinatensystem zugrunde, das auch
bei dem Operator affine_trans_pixel
verwendet wird. Das bedeutet,
dass die Transformation nicht mit der Transformationsmatrix
HomMat2D
, sondern mit einer modifizierte Version davon
durchgeführt wird. Eine Transformation mit
projective_trans_contour_xld
entspricht für jeden Punkt (Row_i, Col_i)
der Kontur der folgenden Kette von Transformationen
(Ein- und Ausgabekoordinaten als homogene Vektoren dargestellt):
Dies kann zu unerwarteten Ergebnissen führen, wenn die
Transformationsmatrix unter Verwendung von Koordinaten erstellt wurde,
die von der Kontur mit Operatoren wie z.B. area_center_xld
abgeleitet wurden. Wenn z.B. eine
rotationssymmetrische XLD Kontur unter Verwendung von
hom_mat2d_rotate
um ihren mit area_center_xld
bestimmten Schwerpunkt rotiert wird, so liegt die transformierte Kontur
nicht auf der Originalkontur. Dieser Effekt kann dadurch kompensiert
werden, dass vor dem Aufruf von projective_trans_contour_xld
die
Transformationsmatrix HomMat2D
durch die beiden folgenden
Translationen modifiziert wird:
hom_mat2d_translate(HomMat2D, 0.5, 0.5, HomMat2DTmp) hom_mat2d_translate_local(HomMat2DTmp, -0.5, -0.5, HomMat2DAdapted) projective_trans_contour_xld(Contours, ContoursAffineTrans, HomMat2DAdapted)
Ein Überblick zu den verschiedenen in HALCON verwendeten 2D Koordinatensystemen ist in der Einleitung zum Kapitel Transformationen / 2D-Transformationen gegeben.
Contours
(input_object) xld_cont(-array) →
object
Eingabekonturen.
ContoursProjTrans
(output_object) xld_cont(-array) →
object
Ausgabekonturen.
HomMat2D
(input_control) hom_mat2d →
(real)
Homogene projektive Transformationsmatrix.
vector_to_proj_hom_mat2d
,
hom_vector_to_proj_hom_mat2d
,
proj_match_points_ransac
,
proj_match_points_ransac_guided
,
hom_mat3d_project
projective_trans_image
,
projective_trans_image_size
,
projective_trans_region
,
projective_trans_point_2d
,
projective_trans_pixel
Foundation