opencv SGBM深度图

时间:2015-06-11 11:02:50

标签: opencv computer-vision stereo-3d

使用Opencv StereoCalib校准2个相同的相机。 我有0.32109 RMS错误 和0.386568平均重新引发错误 results of calibrating

我认为这不是很大的校准错误。 但是使用带有黑色左边框的opencv SGBM算法获得this depth map

 int sgbmWinSize = 9;
    int cn = img1.channels();
    sgbm->setPreFilterCap(63);
    sgbm->setBlockSize(sgbmWinSize);
    sgbm->setP1(8 * cn*sgbmWinSize*sgbmWinSize);
    sgbm->setP2(32 * cn*sgbmWinSize*sgbmWinSize);
    sgbm->setMinDisparity(0);
    sgbm->setNumDisparities(numberOfDisparities);
    sgbm->setUniquenessRatio(10);
    sgbm->setSpeckleWindowSize(100);
    sgbm->setSpeckleRange(32);
    sgbm->setDisp12MaxDiff(1);
    sgbm->setMode(alg > 1 ? StereoSGBM::MODE_HH : StereoSGBM::MODE_SGBM);

问题是什么?

1 个答案:

答案 0 :(得分:0)

  

非遮挡区域遮罩   除了视差图,对于立体匹配 -   方法评估非常有趣   遮挡区域面具。这个面具代表白色   为场景中可见的像素着色   相机和黑色可见的像素   只从一台相机

问题"解决了#34;与

for(int y=0;y<height;y++){
   for(int x=0;x<width;x++){
       if(imageData[y*width+x]==0){
          imageData[y*width+x]=x>width/2?imageData[y*width+x+1]:imageData[y*width+x-1];}}}