Калибровать две камеры OpenCV - PullRequest
2 голосов
/ 11 апреля 2011

Я использую OpenCV 2.2 и пытаюсь откалибровать две камеры для просмотра по одной и той же системе координат. Две камеры будут размещены немного отдельно друг от друга. Я понимаю, как откалибровать встроенные функции для одной камеры, но я немного сбит с толку из-за того, как я смог бы объединить две камеры. Контрольные вопросы тоже хороши.

Приветствие.

РЕДАКТИРОВАТЬ - Я работаю над этой проблемой - опубликую и опишу, что работает для меня, когда я это сделаю.

Ответы [ 2 ]

3 голосов
/ 13 апреля 2011

Предположим, у вас есть две камеры C1 и C2.

  1. Фундаментальная матрица F определяет отношение между двумя камерами, что означает заданную точку изображения x1 вC1, как это ограничивает положение соответствующей точки x2 в C2.Ответ: x1 определяет строку в C2, а x2 должен находиться на этой строке.Это эпиполярная геометрия .Он определяется только параметрами камеры, и он не зависит от геометрии сцены вообще.

  2. Предположим, теперь у вас есть две проективные матрицы , P1 и P2, т.е. вы знаете все параметры для обеих камер.Если у вас есть пара соответствий , x1 <-> x2 (x1 от C1 и x2 от C2), вы можете оценить трехмерное местоположение точки X в пространстве, которое было отображено на x1 в C1и х2 в С2.Вы можете восстановить свой мяч , получив 3D-модель. Самое сложное - найти совпадения x1 <-> x2 .

Теперь, если ваша проблема в том, чтобы узнать, видят ли C1 и C2 одно и то же,может быть, ваша проблема не в стерео проблеме , а в проблеме распознавания .Возможно, SIFT или SURF алгоритмы будут более подходящим подходом.

0 голосов
/ 12 апреля 2011

Возможный обман это ?Мой ответ на этот вопрос StereoCalibrate позволит вам найти необходимую матрицу, которую вы можете использовать, чтобы связать любую точку в одной камере с точкой в ​​другой камере.

...