Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int numberOfDisparities = 16;
- int SADWindowSize = 9;
- Ptr<StereoSGBM> sgbm = StereoSGBM::create(0, numberOfDisparities, SADWindowSize);
- ...
- ...
- int cn = img1.channels();
- int sgbmWinSize = SADWindowSize > 0 ? SADWindowSize : 3;
- sgbm->setBlockSize(sgbmWinSize);
- sgbm->setP1(8 * cn*sgbmWinSize*sgbmWinSize);
- sgbm->setP2(32 * cn*sgbmWinSize*sgbmWinSize);
- sgbm->setPreFilterCap(31);
- sgbm->setMinDisparity(0);
- sgbm->setNumDisparities(numberOfDisparities);
- sgbm->setUniquenessRatio(10);
- sgbm->setSpeckleWindowSize(100);
- sgbm->setSpeckleRange(32);
- sgbm->setDisp12MaxDiff(1);
- sgbm->setMode(StereoSGBM::MODE_SGBM);
- sgbm->compute(img1, img2, disp);
- disp.convertTo(disp8, CV_8U, 255 / (numberOfDisparities*16.));
- cv::cvtColor(disp8, disparityMap, cv::COLOR_GRAY2BGR);
- namedWindow("left image", 1);
- imshow("left image", img1);
- namedWindow("right image", 1);
- imshow("right image", img2);
- namedWindow("disparity", 0);
- imshow("disparity", disparityMap);
Add Comment
Please, Sign In to add comment