2016-05-25 3 views
4

У меня есть это 2 изображения:Преобразование (вращение и перевод) между 2 изображениями

enter image description here

и

enter image description here

Я хочу, чтобы вычислить вращение и перемещение между двумя объектами (длинный вертикальный объект - шум). Как я могу это сделать? Я стараюсь estimateRigidTransform и я получаю матрицу 3x2, как это:

[[9.74271490e-01 -5.10741683e-02 2.52325933e + 01] [1.05148056e-02 1.01445292e + 00 -8.42995582e + 00]]

Я думаю, что эта матрица выглядит так:

[[соз (угол) sin (угол) tranlation_X] [-sin (угол) сов (угол) translation_Y]]

Но 9.74271490e-01 отличается от 1.01445292e + 00, так, что это значит?

ОцениваетRigidTransform лучшее (единственное) решение?

С наилучшими пожеланиями,

Philippe

+1

Вы можете использовать 'findHomography', чтобы найти перспективное преобразование между двумя плоскостями. – VICTOR

+0

С 'findHomography', мне нужно 2 массива очков, но у меня 2 изображения. То же самое для 'getAffineTransform' и' getPerspectiveTransform'. –

+0

'findHomography', используя детектор и дескриптор в OpenCV. –

ответ

0

Попробуйте использовать итеративную ближайшую точку (ICP).