2015-01-30 5 views
0

Я работаю над стереозвуком с помощью метода stereoRectifyUncalibrated() под OpenCV 3.0.матрица проекции от гомографии

Я откалибровать систему со следующими шагами:

  1. Обнаружение и характерные точки матча SURF между изображениями из 2-х камер
  2. Нанести findFundamentalMat() с согласующих paairs
  3. Получить ректификационной homographies с stereoRectifyUncalibrated().

Для каждой камеры, я вычислить матрицу вращения следующим образом:

R1 = cameraMatrix[0].inv()*H1*cameraMatrix[0]; 

Для вычисления 3D очков, мне нужно, чтобы получить матрицу проекции, но я не знаю, как я могу оценить вектор перемещения.

Я попробовал decomposeHomographyMat() и это решение https://stackoverflow.com/a/10781165/3653104, но матрица вращения не совпадает с тем, что я получаю с R1.

Когда я проверяю выпрямленные изображения с помощью R1/R2 (используя initUndistortRectifyMap(), а затем remap()), результат кажется правильным (я проверил с эпиполярными линиями).

Я немного потерял свои знания в зрении. Таким образом, если бы кто-нибудь мог мне объяснить. Спасибо :)

ответ

0

Код в предоставленной вами ссылке (https://stackoverflow.com/a/10781165/3653104) вычисляет не поворот, а 3 × 4 позы камеры.

Последний столбец позы - ваш переводческий вектор

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