3 개의 카메라가 모두 아래 그림과 같이 동일 직선 상에 배치되는 병렬 삼 분기 설정이 있습니다.Trinocular Stereo 용 병합 깊이 맵
왼쪽 카메라 ------------ 센터 카메라 ---------------------------- ----- 오른쪽 카메라
왼쪽 카메라와 중앙 카메라 사이의 기준선 (카메라 간 거리)이 가장 짧고 왼쪽 카메라와 오른쪽 카메라 간의 기준선이 가장 깁니다.
이론상 서로 다른 카메라 조합 (L-R, L-C 및 C-R)을 사용하여 3 세트의 불일치 이미지를 얻을 수 있습니다. 삼각형 분할을 사용하여 각 불일치 맵에 대한 깊이 맵 (3D 포인트)을 생성 할 수 있습니다. 이제 3 개의 깊이 맵이 있습니다.
근거리에있는 물체의 경우 LC 조합의 깊이 정확도가 더 높습니다 (기준 거리가 짧기 때문에). LR 조합은 멀리있는 물체에 대해 깊이 정확도가 더 높습니다 (기준선이 길기 때문에). 마찬가지로 C-R 조합은 중간 거리의 물체에 대해서도 정확합니다.
스테레오 설정에서 일반적으로 왼쪽 (RGB) 이미지를 참조 이미지로 정의합니다. 내 프로젝트에서는 깊이 값을 임계 값으로 설정하여 참조 이미지에 ROI를 얻었습니다. 예를 들어 나는 깊이 값이 10-20m 사이 인 모든 픽셀을 찾고 각각의 픽셀 위치를 찾습니다. 이 경우 3D 점과 해당 픽셀 위치 사이에 관계가 있습니다.
정상적인 스테레오 설정에서 기준선 (근거리 및 원거리)에 따라 두 영역 중 하나에 대해서만 깊이 정밀도를 높일 수 있으므로 3 대의 카메라를 사용할 계획입니다. 이렇게하면 세 가지 영역 (근거리, 중간 및 원거리)에 대해 더 높은 정확도의 3D 점을 생성하는 데 도움이됩니다.
이제 3 개의 깊이 맵을 병합하여 글로벌 맵을 얻고 싶습니다. 내 문제는 다음과 같습니다 -
- 3 가지 깊이 맵을 병합하는 방법은 무엇입니까?
- 병합 후 참조 (왼쪽 RGB) 이미지의 어느 픽셀 위치에 어떤 깊이 값이 해당하는지 어떻게 알 수 있습니까?
당신의 도움이 많이 이해할 수있을 것이다 :
고맙습니다. @marcoresk. 3D 포인트 클라우드를 병합하면 가장 가까운 이웃이나 거리 측정의 형태를 사용할 수 있다고 생각합니다. 그러나 내 카메라는 정적이 아닙니다. 내재 된 매트릭스 K가 있지만 어떻게 R과 T를 찾습니까? 세계 좌표계가 미리 정의되어 있지 않습니다. 실례합니다. 아직 배운 과정이 있습니다. –
@Beginner_In_Image_Processing 당신은 환영합니다. 나는 또한 학습 과정에 있습니다. 나는 "3 대의 카메라 모두가"3 카메라의 상호 위치/방향이 왼쪽 카메라와 관련하여 고정되어 있다는 것을 의미하는 "병렬 삼중 셋업"이라는 문장을 가정했습니다. 나는 또한 불일치의 집합이 "정적 인"객체이고, 한 프레임이 시간 내에 고정되어 있다고 가정했다. 따라서 [this] (https://github.com/opecv/opencv/blob/master/samples/cpp/stereo_calib.cpp)와 같은 스테레오 교정 절차를 수행하여 R 및 te를 검색 할 수 있습니다. 당신의 세계 좌표계는 왼쪽 캠 – marcoresk
에서 기원 된대로 설정됩니다. @Beginner_In_Image_Processing 당신이 (삼차원으로 가정 된) 삼중 계를 움직일 때 다른 순간에 찍은 점들을 병합해야한다면 사물이 더 힘들어집니다. 다음에 카메라가 움직이거나 움직이지 않는지를 지정하십시오. 제 대답을 높이 평가 하셨다면 그것을 받아들이십시오. – marcoresk