Ich verwende cv2.getRotationMatrix2D
, um eine 2x3 Matrix zu erhalten, um ein Quellbild zu drehen. Das funktioniert gut. Jetzt habe ich mehrere 2D-Koordinaten, die Punkte im nicht gedrehten Bild darstellen. Kann ich die gleiche Matrix verwenden, um die einzelnen Punkte zu drehen, und wenn ja, wie? Wenn ich richtig verstanden habe, sollte ich in der Lage sein, die Matrix mit den (x, y) -Koordinaten zu multiplizieren, aber egal welche Kombination von Matrix und Punkten ich versuche, bekomme ich nie einfache x- und y-Koordinaten.Drehen Sie 2D-Punkte mit openCV und Python
Danke für Ihre Hilfe!
Edit:
die Rotationsmatrix ist
[[ 9.24630834e-01 3.80864571e-01 1.52747702e-01]
[ -3.80864571e-01 9.24630834e-01 1.57068951e+02]]
Was ich bisher tue:
point = np.array([marker.x, marker.y, 1])
transform = rot_matrix * point.T
print transform
Aber das gibt mir nicht eine 2x1 Matrix, wie es sollte, aber:
[[ 2.10815830e+02 7.92198307e+01 1.52747702e-01]
[ -8.68371221e+01 1.92323213e+02 1.57068951e+02]]
können Sie ein paar Zeile Beispiel für die Definition des Stückes von Code, das funktioniert, nur so bin ich klar, wie es zu beheben? Ich habe eine Idee, wie es geht, aber ich muss sehen, was Sie arbeiten, um zu kommentieren. –
Danke für Ihr Interesse, FlashTeks Antwort gab mir den richtigen Hinweis. –