0

편집 :돌아 가기 새로운보기 이미지 평면에 3 차원 세계 점을 투사

내가 무엇을 가지고 : 교정, 2D 영상과 깊이 맵에서 카메라 내장, 외부를

내가 필요한 것 : 2D 가상보기 이미지를

Depth Image Based Rendering을위한 새로운 뷰 (오른쪽 뷰)를 생성하려고합니다. 그 이유는 오른쪽 그림 (see image)을 재구성해야하는 수신기에서 왼쪽 이미지와 깊이 맵만 사용할 수 있기 때문입니다.

내가 다음 단계는 캘리포니아 공과 대학에서 MATLAB을위한 카메라 보정 도구 상자를 사용하여, 나에게 원하는 결과 또는 내가 대신 일을해야,

첫째 줄 것이다 있는지 알고 싶어, 고유, 외부 행렬을 얻을 수있다.

그런 다음, 그들은 "http://nicolas.burrus.name/index.php/Research/KinectCalibration#tocLink2"

지금, 나는 새로운 이미지 평면 (오른쪽보기)에 사업이를 백업하려면이 방법으로 교정 매개 변수를 사용하여 3D 월드 점에 매핑 할 수 있습니다. 오른쪽보기는 설정 때문에 왼쪽 및 회전 없음의 단순한 번역입니다. 어떻게 재구성합니까?

또한 MATLAB 스테레오 보정 도구에서 R과 T를 추정하고 P2 = R * P1 + T, P1 및 P2를 사용하여 원본 왼쪽 뷰의 모든 점을 오른쪽 뷰로 변환 할 수 있습니까? 각각의 평면.

모든 아이디어와 도움을 주시면 감사하겠습니다. 질문이 명확하지 않으면 세부 사항을 다시 말하고 추가하십시오.

+0

무엇을 이미 완료 했습니까? 당신의 정확한 문제는 무엇입니까? – obchardon

+0

문제를 구현할 수있는 방법을 찾고 있습니다! 문제는 왼쪽 뷰, 깊이 맵, 카메라 내장 함수, R 및 T 값을 알고있는 경우 장면의 오른쪽 뷰를 만드는 방법입니다. –

답변

0

(이론적 응답 *) 당신은 T의 의미 R 및 정의해야

. 제가 이해한다면, 당신의 (메인) 왼쪽 카메라의 로토 번역입니다. 3D 공간에서 점 P (P1 또는 P2와 같은)를 매핑 할 수 있다면 왼쪽 관측점에서 점 m (내가 혼란을 피하기 위해 p라고 부르지 않음)을 사용하면 다른 관례 (의사 코드)를 사용하지 않는 한

m = K[R|t]*P 

하는

P1 = (X,Y,Z,1) 
m = (u',v',w) 

하지만 당신은 2D가 왼쪽 카메라의 좌표는 이렇게 좌표를 원하는 :

u = u'/w 
v = v'/w 

이미 로토 번역 P2 (매우 유용하지)에 P1 인 경우 같음 (p seudocode)

    1 0 0 0 
m = K[I|0]*P = K*[0 1 0 0] * P2 
        0 0 1 0 

이 이미지의 m에서 자신의 2D 포인트와 3D ​​점 P와 이론적 관계 가정, 당신은 다른 위치에 당신이 바로 카메라를 가지고 생각할 수 있습니다. 왼쪽 카메라에 대한 변환 만있는 경우 오른쪽 카메라는 왼쪽 카메라에 대해 T2로 변환되고 R/T + T2가 세계 중심을 기준으로 변환됩니다. 그래서 오른쪽 카메라의 m '피 점이 있어야합니다 (카메라가 같다고 가정하면 같은 내장 함수 K를 가짐)

m'= K [R | T + T2] * P = K [I | T2] * P2 I는 단위 행렬입니다.

3D 점을 사용하여 m을 m '으로 직접 변환하려면 에피 폴라 지오메트리를 구현해야합니다. 교정은 R 및 T는 K의 교정 동일한 표준을하지 않은 경우 카메라가 다른 K와 다른 경우


  • ,이 방정식은 작동하지 않을. 보정이 제대로 수행되지 않으면 작동 할 수 있지만 오류가 있습니다.
+0

감사합니다. –

+0

@PriyamvadhaKrishnakumar 당신은 환영합니다 – marcoresk

+0

번역 벡터 매개 변수가 X, Y, Z 축을 따라 번역을 나타 냅니까? –

관련 문제