Как найти трехмерное положение точки с внутренними и внешними параметрами с помощью opencv

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

Благодарю.

1 ответ

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

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

Другие вопросы по тегам