| Operatoren |
vector_to_rigid — Erzeugt eine Näherung für eine starre affine Transformation aus Punktkorrespondenzen.
vector_to_rigid erzeugt aus (mindestens zwei) Punktkorrespondenzen eine Näherung für eine starre affine Transformation, d.h. eine Transformation bestehend aus Rotation und Translation, und liefert sie in der homogenen Transformationsmatrix HomMat2D zurück. Diese beinhaltet 2 Komponenten: eine Rotationsmatrix R und einen Translationsvektor t (siehe auch hom_mat2d_rotate und hom_mat2d_translate):
Die Punktkorrespondenzen werden in den Tupeln (Px,Py) und (Qx,Qy) übergeben, wobei korrespondierende Punkte an denselben Indexpositionen stehen müssen. Die Transformation ist durch die mindestens zwei Punktkorrespondenzen immer überbestimmt. Deswegen ist die zurückgelieferte Transformation diejenige, die die Abstände zwischen den Eingabepunkten (Px,Py) und den transformierten Zielpunkten (Qx,Qy) minimiert, wie in der folgenden Gleichung beschrieben (Punkte als homogene Vektoren dargestellt):
HomMat2D kann direkt mit den Operatoren, die Daten mit affinen Abbildungen transformieren, z.B. affine_trans_image, verwendet werden.
Es ist zu beachten, dass homogene Transformationsmatrizen sich auf ein allgemeines rechtshändiges mathematisches Koordinatensystem beziehen. Falls eine homogene Transformationsmatrix zur Transformation von Bildern, Regionen, XLD-Konturen oder anderen Daten, die aus Bildern extrahiert wurden, verwendet werden soll, ist zu beachten, dass die Zeilenkoordinaten in den x-Koordinaten und die Spaltenkoordinaten in den y-Koordinaten übergeben werden müssen. Die Übergabereihenfolge von Zeilen- und Spaltenkoordinaten entspricht also der üblichen Reihenfolge (Row,Column). Diese Konvention ist unerlässlich, um bei der Transformation von Bilddaten ein rechtshändiges Koordinatensystem zu erhalten, so dass z.B. insbesondere Rotationen in der mathematisch korrekten Drehrichtung ausgeführt werden.
Weiterhin ist zu beachten, dass, falls eine homogene Transformationsmatrix zur Transformation von Bildern, Regionen, XLD-Konturen oder anderen Daten, die aus Bildern extrahiert wurden, verwendet werden soll, angenommen wird, dass der Ursprung des Koordinatensystems der homogenen Transformationsmatrix in der linken oberen Ecke des Pixels liegt. Die Bildverarbeitungsoperatoren, die Punktkoordinaten zurückliefern, nehmen hingegen ein Koordinatensystem an, in dem der Ursprung in der Mitte eines Pixels liegt. Daher muss, um eine konsistente homogene Transformationsmatrix zu erhalten, 0.5 zu den Punktkoordinaten addiert werden, bevor die Transformation berechnet wird.
X-Koordinaten der originalen Punkte.
Y-Koordinaten der originalen Punkte.
X-Koordinaten der transformierten Punkte.
Y-Koordinaten der transformierten Punkte.
Ausgabe-Transformationsmatrix.
affine_trans_image, affine_trans_image_size, affine_trans_region, affine_trans_contour_xld, affine_trans_polygon_xld, affine_trans_point_2d
vector_to_hom_mat2d, vector_to_aniso, vector_to_similarity
vector_field_to_hom_mat2d, point_line_to_hom_mat2d
Foundation
| Operatoren |