StereoSGBM用於計算兩幅圖像間的差異圖,在OpenCV的在線文檔中有非常詳細的介紹,地址是:“http://opencv.willowgarage.com/documentation/cpp/camera_calibration_and_3d_reconstruction.html#stereosgbm”。參數非常多,如果不使用默認的參數,需要仔細查看每個參數的說明,以免出錯。OpenCV的具體實現在命名空間cv中的StereoSGBM類,目前還沒有對應的C風格封裝;EmguCV將其封裝在StereoSGBM類中。
StereoSGBM除了參數很多之外,使用起來蠻簡單的,如下所示:
StereoSGBM sgbm = new StereoSGBM((int)nudMinDisparity.Value, (int)nudNumDisparities.Value, (int)nudSADWindowSize.Value, (int)nudP1.Value,
(int)nudP2.Value, (int)nudDisp12MaxDiff.Value, (int)nudPreFilterCap.Value, (int)nudUniquenessRatio.Value,
(int)nudSpeckleWindowSize.Value, (int)nudSpeckleRange.Value, chkFullDP.Checked);
//查找兩幅圖像間的相關性(差異)
sgbm.FindStereoCorrespondence(leftImage, rightImage, disparityImage);
//顯示結果
pbDisparity.Image = disparityImage.Bitmap;
//釋放資源
sgbm.Dispose();
引自:http://www.cnblogs.com/xrwang/archive/2010/04/29/StereoSGBMAndSetWindowProperty.html