как найти трехмерное положение точки с внутренними и внешними параметрами с помощью opencv - PullRequest
6 голосов
/ 25 ноября 2010

Я хочу найти позицию точки с помощью opencv. я откалибровал две камеры, используя cvCalibrateCamera2. так что я знаю как внутренние, так и внешние параметры. Я читал, что с известными внутренними и внешними параметрами, я могу легко восстановить 3d с помощью триангуляции. Есть ли в opencv функция для достижения этой цели. Я думаю, что cvProjectPoint2 может быть полезен, но я не понимаю, что именно. Так, как я могу найти трехмерное положение точки.

Спасибо.

1 Ответ

6 голосов
/ 26 ноября 2010

Сначала вы должны найти различия.В OpenCV реализовано два алгоритма - сопоставление блоков (cvFindStereoCorrespondenceBM) и вырезка графика (cvFindStereoCorrespondenceGC).Последний дает лучшие результаты, но медленнее.После обнаружения несоответствия вы можете перепроектировать несоответствия в 3D, используя cvReprojectImageTo3D.Это дает вам расстояния для каждой точки входных изображений, которые находятся на обоих видах камеры.

Также обратите внимание, что для алгоритмов стерео соответствия требуется пара выпрямленных изображений (используйте cvStereoRectify, cvInitUndistortRectifyMap и cvRemap).

...