Я использую OpenCV EstimRigidTransform для стабилизации серии видеокадров, которая работает очень хорошо.
Функция возвращает матрицу преобразования 2x3 M:
| a_11 a_12 b_1 |
| -a_12 a_11 b_2 |
Насколько я понимаю, элементы b
представляют перевод, а элементы a
используются для масштабирования и поворота.
Я бы хотел получить глобальный масштаб из M - значения, которое представляет коэффициент масштабирования камеры. Как я могу правильно рассчитать это по a
значениям?
Чтобы немного пояснить, что я хочу получить, вот пример. Скажем, ratingRigidTransform вычисляет матрицу преобразования M для второго кадра ниже относительно первого кадра:
Глобальный коэффициент масштабирования в этом случае должен быть равен 2. Мой вопрос: как получить это значение из M?