Гомографическое разложение матрицы, полученной в findHomography ()

Я использовал это код в качестве основы для обнаружения моей прямоугольной цели в сцене. Я использую ORB и Flann Matcher. Я смог нарисовать ограничивающую рамку обнаруженной цели в моей сцене, успешно используя findHomography() а также perspectiveTransform() функции.

Эталонное изображение (img_object в приведенном выше коде) является прямой вид только прямоугольной цели. Теперь цель в моем изображении сцены может быть наклонена вперед или назад. Я хочу выяснить угол, на который он был наклонен. Я прочитал различные посты и пришел к выводу, что findHomography() может быть разложен на матрицу вращения и вектор перевода.
Я использовал код из https: /gist.github.com/inspirit/740979 рекомендованный эта ссылка переведено на C ++. Это код декомпозиции Zhang SVD, полученный из модуля калибровки камеры OpenCV. Я получил полное объяснение этого кода декомпозиции из книги O’Reilly Learning OpenCV.

Мои вопросы:

  1. Правильно ли я считаю, что полученная мной разложенная матрица вращения скажет мне угол, на который была наклонена моя цель?
  2. Во-вторых, могу ли я использовать гомографию, полученную из findHomography() в качестве входных данных для этого модуля разложения и ожидаете правильного вывода? Или мне чего-то не хватает?
  3. Есть ли другой способ добиться того же?

Наконец, я пишу код на мобильной платформе, поэтому я тоже обеспокоен производительностью. Я был бы рад, если бы вы могли указать мне правильное направление.

Заранее спасибо за ваше время и ответы.

1

Решение

Процедура калибровки Чжана даст матрицу вращения. Это представляется как 3 (эйлеровых) угла, а не как один. Или, что то же самое (через формулу Родригеса), как один единичный вектор и угол поворота вокруг этого вектора — то есть снова три числа.

Если ваша камера и цель не будут очень тщательно расположены друг относительно друга, нет никаких оснований ожидать, что будет только один ненулевой угол поворота.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]