Guest User

Untitled

a guest
Jan 4th, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.03 KB | None | 0 0
  1. int numberOfDisparities = 16;
  2. int SADWindowSize = 9;
  3.  
  4. Ptr<StereoSGBM> sgbm = StereoSGBM::create(0, numberOfDisparities, SADWindowSize);
  5.  
  6. ...
  7. ...
  8.  
  9. int cn = img1.channels();
  10. int sgbmWinSize = SADWindowSize > 0 ? SADWindowSize : 3;
  11. sgbm->setBlockSize(sgbmWinSize);
  12.  
  13. sgbm->setP1(8 * cn*sgbmWinSize*sgbmWinSize);
  14. sgbm->setP2(32 * cn*sgbmWinSize*sgbmWinSize);
  15. sgbm->setPreFilterCap(31);
  16. sgbm->setMinDisparity(0);
  17. sgbm->setNumDisparities(numberOfDisparities);
  18. sgbm->setUniquenessRatio(10);
  19. sgbm->setSpeckleWindowSize(100);
  20. sgbm->setSpeckleRange(32);
  21. sgbm->setDisp12MaxDiff(1);
  22. sgbm->setMode(StereoSGBM::MODE_SGBM);
  23.  
  24. sgbm->compute(img1, img2, disp);
  25.  
  26. disp.convertTo(disp8, CV_8U, 255 / (numberOfDisparities*16.));
  27.  
  28. cv::cvtColor(disp8, disparityMap, cv::COLOR_GRAY2BGR);
  29.  
  30. namedWindow("left image", 1);
  31. imshow("left image", img1);
  32.  
  33. namedWindow("right image", 1);
  34. imshow("right image", img2);
  35.  
  36. namedWindow("disparity", 0);
  37. imshow("disparity", disparityMap);
Add Comment
Please, Sign In to add comment