2011-04-06 13 views
2

두 카메라 모두에서 동일한 객체의 보정 된 스테레오 카메라 시스템과 픽셀 위치를 얻었습니다. OpenCv (및 내장/외인성 매개 변수)를 사용하여 객체의 3D 세계 좌표를 계산하는 쉬운 방법이 있습니까? 아니면 두 카메라와 변환 사이에 생성 된 3D 선을 처리해야합니까? CvReprojectImageTo3D가 도움이 될 수 있습니까? 많은 감사OpenCV에서 점의 3D 좌표를 계산하는 방법

답변

1

이러한 포인트를 삼각형화할 수 있습니다. 모든 카메라에 대해 x = 2D * 동질적인 화면 좌표, IP = 고유 카메라 행렬, EP = 외부 카메라 행렬 및 X 3D 동질성 좌표가있는 x = IP * EP * X를 알 수 있습니다. 이 수식 (A)에, 각 카메라 선형 문제 A * X = B. 결과 카메라에 2 개 차 방정식을 얻을 추가 것이다

Ps = IP * EP 
A(row 1) = x.x * Ps(row 3) - Ps(row 1) 
A(row 2) = x.y * Ps(row 3) - Ps(row 2) 
B(row 1 & 2) = 0 

4 개의 미지수가있다. 해결책으로 0을 피하려면 A에 [0 0 0 1], B에 [1]을 붙이십시오.

해결은 Jacobi method 또는 이와 유사한 것으로 수행 할 수 있습니다.

OpenCV에서 메소드를 찾지 못했으나 어떤 보정 매트릭스가 있는지 알고있는 경우 위의 메소드를 구현할 수 있어야합니다.

관련 문제