Ich habe zwei 2x3 Matrizen A und B - jedes ist für affine Transformation. Ich muss A und B zu einer dritten Matrix C kombinieren, die die affine Transformation von A und B in eine Matrix kombiniert.Kombiniere zwei affine Transformationsmatrizen in OpenCV
Wie muss ich sie multiplizieren?
A B oder B A?
Der Unterschied ist, dass entweder A oder B transponiert wird, oder macht es überhaupt einen Unterschied?
Ich lese eine weitere Lösung ist, 3x3 Matrizen zu verwenden und in die ersten beiden Zeilen zu kopieren und nur die ersten beiden Zeilen im Ergebnis zu verwenden. Aber es kommt auf die gleiche Frage, ob es eine einfache Möglichkeit gibt, dies in OpenCV zu implementieren, oder muss ich jeden Schritt wie oben beschrieben implementieren?
Keiner umgesetzt werden sollte. Fügen Sie eine dritte Zeile hinzu. Die Multiplikationsreihenfolge hängt von Ihrem Szenario ab. –
Es macht einen Unterschied und hängt von der Reihenfolge ab, welche Transformation zuerst durchgeführt werden sollte. Aber hüte dich davor, dass 2x3 affine Transformationen nicht auf diese Weise multipliziert werden können, du musst sie zuerst auf 3x3 Matrizen erweitern, indem du unten eine 0 0 1 Zeile hinzufügst. Danach berechnen Sie C = BA, wenn Sie A vor B oder C = AB ausführen möchten, wenn Sie B zuerst ausführen möchten. – Micka
Danke, das hat funktioniert. Aber OpenCV bietet keine Funktion dafür? – Kev1n91