1

Что касается paper, я пытаюсь рассчитать ориентацию камеры относительно тестового шаблона. Образец теста выглядит какВычислите матрицу гомографии только для вращения

this , когда камера просматривает его перпендикулярно тестовому образцу. При просмотре с неизвестной ориентации тестовый шаблон выглядит как

this fitted with an ellipse.

Я могу рассчитать угол вокруг оси x (α) и y (бета). Теперь мне нужно сопоставить тестовый образец, чтобы получить угол поворота вокруг оси z (гамма) (оптическая ось камеры). Это нужно сделать, повернув образ тестового шаблона вокруг x и y отрицательными значениями альфа и бета. Итак, как получить матрицу гомографии только для вращения. Я прошел через virtual camera rotation и wiki link. Код вращения виртуальной камеры дает хороший результат, но зависит от расстояния камеры от тестового шаблона, который в моем случае неизвестен. Я пробовал cv::warpPerspective, пропустив только матрицу вращения, но результаты были странными.

+1

Удивительно, как эти ребята могут опубликовать в 2008 году статью о ненадежной/неточной технике калибровки, которая была уже хорошо известна в 1998 году !!! –

ответ

1

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

С этим предостережением вы можете выполнить прямолинейную оценку гомографии с использованием алгоритма DLT, используя центр паттерна и 4 пересечения между осями и границей. Вы можете произвольно назначить эти точки изображения точкам r * (0, 0), r * (1, 0), r * (0, 1), r * (- 1, 0), r * (0, -1) вашего рисунка соответственно, причем r - его длина радиуса.

После того, как вы оценили матрицу гомографии H, вы можете просто разложить ее в продукте R * Q правой треугольной матрицы R и вашей необходимой матрицы преобразования рота Q. См. Zhang's paper о калибровке камеры для деталей.

+0

@ .Francesco ..thanx для процесса ... пытается и обновит –

Смежные вопросы