天天看點

OpenCV 3.1 StereoBM 擷取正确視差Dispariy

OpenCV更新到3.0版本後,Stereo子產品變化的挺多的,首先去掉了StereoBMState和StereoSGBMState這兩個專門控制BM和SGBM算法參數的類,而且StereoBM不能直接聲明執行個體,需要放到智能指針裡cv::Ptr<cv::StereoBM>聲明才行,而且不能直接通過通路state來通路參數,隻能通過setter和getter方法來設定和擷取參數,參考下面這段執行個體代碼:

注意新版本下的BM和SGBM方法計算出的視差都是CV_16S格式的,使用32位float格式可以得到真實的視內插補點,是以我們需要除以16,需要加上下面一行代碼:

繼續閱讀