2017-10-05 22 views
0

스테레오 이미지에서 불일치 맵을 얻으려고합니다. 아래 이미지로 stereo_match.cpp을 시도하면 결과 이미지가 원본 이미지보다 작아지고 이미지 왼쪽이 사라집니다.OpenCV 3.3 Reating Disparity Maps가 더 작은 크기의 결과를 반환했습니다.

매개 변수에 관한 것입니까? 이유는 무엇이며 어떻게 해결할 수 있습니까?

매개 변수 변경 등으로 결과를 개선하려면 어떻게해야합니까?

다음은 매개 변수입니다 :

Ptr<StereoSGBM> sbm = StereoSGBM::create(16, 64, 3, 48, 192, 0, 0,10,200,100); 
CV_WRAP static Ptr<StereoSGBM> create(int minDisparity = 0, int numDisparities = 16, int blockSize = 3, 
              int P1 = 0, int P2 = 0, int disp12MaxDiff = 0, 
              int preFilterCap = 0, int uniquenessRatio = 0, 
              int speckleWindowSize = 0, int speckleRange = 0, 
              int mode = StereoSGBM::MODE_SGBM); 
다음

enter image description hereenter image description hereenter image description here

답변

1

변이 mapcreation의 이론적 인 설명은 다음과 같습니다 격차 또는 깊이 맵을 생성하기 위해

https://www.eecis.udel.edu/~grauerg/globalStereoPresCompVisionClass.pdf

존재해야 두 카메라 모두에서 볼 수있는 객체 여야합니다. 귀하의보기에서, 불일치 맵은 카메라의 일반적인 시야를 보여줍니다.

이 시야를 줄이려면 카메라를 서로 가깝게 이동할 수는 있지만 비용이 많이 듭니다. z 치수가 정확하고 노이즈가 적습니다.