Как найти углы поворота (тангаж, рыскание, крен) по коэффициентам трансформации перспективы?
У меня есть два двумерных квадрата (каждый представлен с использованием 4 пар ху), один из которых является перспективным преобразованием другого. Как я могу использовать эти четырехугольники для определения поворотов (тангажа, рыскания, крена), которые вызвали искажение перспективы?
Обратите внимание, что я использовал cvGetPerspectiveTransform(), который возвращает коэффициенты перспективного преобразования в форме матрицы 3x3. Я могу использовать такие коэффициенты для отображения точки из одного пространства в другое. Однако это углы поворота, о которых я беспокоюсь.
Есть идеи?
Спасибо, Хасан.
1 ответ
Мой алгоритм был
1) вычислить трехмерную координату четырехугольника (пример показан в разделе Расчет трехмерной координаты прямоугольника с координатой его тени?)
2) перейти к точке первого и соответствующим двум точкам второго вычисления кватерниона (см. Первую ссылку, которую я опубликую в этой ссылке, чтобы ответить)
3) из кватерниона рассчитывают поворот матрицы, угла.