2013-08-02 4 views
0

Я узнал о калибровке камеры и запутался на своем пути, чтобы понять, как восстановить внешний и внутренний параметр камеры из матрицы проекции камеры.Как вычислить параметр ext и int из матрицы проекции камеры

В общем, мы можем получить значения матрицы проекции камеры путем решения уравнений с соответствиями 3D мировых координат в координаты 2D экрана и то есть, мы получаем матрицу, скажем, «C»

C = [с11 с12 c13 c14; c21 c22 c23 c24; c31 c32 c33 c34]

И, как правило, без ограничения общности мы можем назначить c34 = 1, и мы можем найти остальные элементы через соответствия 3D-2D.

После этого, мы можем сравнить проекции камеры матрицу С конъюнкции и доб Int матрицы (скажем, M), которые могут быть организованы, чтобы быть

М = ​​[fxr1 + uxr3 fxtx + uxtz; fyr1 + uyr3 fytx + uytz; r3 tz], где r1, r2, r3 - вектор строки матрицы вращения, tx, ty, tz - перевод.

Что я не могу разобрать, когда мы сравниваем каждый элемент C с элементами M, чтобы получить параметр ext и int, наш tz (перевод о z) будет равен 1, потому что мы назначили c34 до 1. Как может ли tz всегда 1? может кто-нибудь объяснить?

ответ

0

Посмотрите на «RQ-разложение». OpenCV имеет routine, чтобы сделать это

+0

Привет, Франческо, я имею в виду, когда мы вычисляем параметр ext и int из матрицы калибровки камеры, мы можем установить c34 равным 1. Следовательно, когда мы сравним матрицу калибровки камеры с матрицей M (соединение из int и ext матрицы), мы всегда получаем значение Tz как 1. Как tz всегда 1? благодаря – deduu