2012-02-23 3 views
0

Хорошо, решил. Сначала я собираюсь использовать инструмент Matlab и chessboardthingie для получения внутренних параметров. И использовать ivl cv :: solvePnP()C++ получить положение камеры в мировых координатах (opencv)

Да, я использовал поиск, но, к счастью, это не помогло мне.

Как говорится в названии, мне нужно найти координаты камеры в реальном мире. Но я также сталкиваюсь с некоторыми проблемами, связанными с командами opencv. До сих пор я знаю некоторые точки на изображении и соответствующие координаты Мира. (в худшем случае 6 очков известны)

Чтобы получить Камкордер cooridnates я думал, используя формулу:

TRANSP (х, у, г) = - TRANSP (R) * т, где R и t являются внешними параметрами

Так что теперь мой прогноз: как рассчитать R и t? Я имею в виду, существует ли функция opencv, которая решает эту проблему? Потому что на самом деле есть много функций калибровки камеры. Или мне нужно сначала рассчитать внутренние параметры?

редактировать: здесь есть функция я имел в виду: http://opencv.willowgarage.com/documentation/python/calib3d_camera_calibration_and_3d_reconstruction.html#calibratecamera2

, но я не знаю, как параметры должны выглядеть. Как я могу инициализировать вручную, например 3х6 матрицы как сорта :: Mat ([[x1] [y1] [z1]] .... [[x6] [Y6] [Z6]])

ответ

0

Матрицы R и T - это поворот и переключение между двумя видами камеры в стереосистеме.

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

Глава 11 и 12 из openCV book дать хорошее описание