2013-02-12 3 views
1

http://docs.opencv.org/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html#calibratecameraOpenCV камера Использование калибровки вращение матрицы

Я использовал метод резюме :: calibrateCamera с 9 * 6 шахматным шаблоном. Теперь я получаю rvecs и tvecs, соответствующие каждому шаблону, Может кто-нибудь объяснить формат rvecs и tvecs? Насколько я понял, каждый из них представляет собой матрицу 3 * 1. и документация OpenCV предлагают видеть функцию Родригеса.

http://en.wikipedia.org/wiki/Rodrigues'_rotation_formula

Насколько Rodrigues обеспокоен это способ повернуть вектор вокруг заданной оси с углом тета. , но для этого нам нужны четыре значения единицы Vector (ux, uy, uz) и угол. но openCV, похоже, использует только 3 значения.

OpenCV Rodrigues документации см ссылке ниже http://docs.opencv.org/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html#void Rodrigues(InputArray src, OutputArray dst, OutputArray jacobian)

говорит, что она будет преобразовывать 3 * 1 матрица для 3 * 3 матрицы поворота. Является ли эта матрица такой же, как мы используем 3D-графику. можно преобразовать его в 4 * 4 матрицы и использовать ее для преобразования, как показано ниже

M4X4 [

ххх 0

ххх 0

ххх 0

]

x: значения из матрицы 3by3 функции родригов. Действительно ли отношение:

Vout = M4X4 * Vin; с использованием матрицы выше. вектор вращения

ответ

1

3x1 можно выразить матрицу вращения, определяя ось вращения через направления, что вектор точку и угол через величины вектора. Используя opencv-функцию Rodrigues(InputArray src, OutputArray dst), вы можете получить матрицу вращения, которая соответствует функции, которую вы описываете.

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