资源简介

基于VS2017+opencv3.4.3的立体匹配SGBM与BM算法代码,opencv更新后,SGBM与SM的调用也发生改变,在网上查了一大圈后,终于将代码成功运行出来了。(注:此代码不涉及两种算法的具体流程,只是基于opencv库的成功调用运行,每个代码就60行左右。想看算法原理的就别下了)

资源截图

代码片段和文件信息

// BM.cpp : 此文件包含 “main“ 函数。程序执行将在此处开始并结束。
//

#include “pch.h“
#include 
#include “pch.h“
#include “opencv2/opencv.hpp“
#include 
#include 
#include 
#include 
#include 
#include 
#include 

using namespace std;
using namespace cv;
double start = getTickCount();


int main()

{
Mat disp;
Mat left = imread(“left.jpg“ IMREAD_GRAYSCALE);
Mat right = imread(“right.jpg“ IMREAD_GRAYSCALE);

int numberOfDisparities = 16;//3248; //((left.cols /8 ) + 15) & -16;
cv::Ptr bm = cv::StereoBM::create(16 9);
cv::Rect roi1 roi2;
bm->setROI1(roi1);
bm->setROI2(roi2);
bm->setPreFilterCap(13);
bm->setBlockSize(15);
bm->setMinDisparity(0);
bm->setNumDisparities(numberOfDisparities);
bm->setTextureThreshold(0);
bm->setUniquenessRatio(1);
bm->setSpeckleWindowSize(0);
bm->setSpeckleRange(32);
bm->setDisp12MaxDiff(-1);
bm->compute(left right disp);

disp.convertTo(disp CV_32F 1.0 / 16);       //除以16得到真实视差值

Mat disp8U = Mat(disp.rows disp.cols CV_8UC1);//显示

normalize(disp disp8U 0 255 NORM_MINMAX CV_8UC1);

imshow(“left“ left);
imshow(“right“ right);
imshow(“disp“ disp8U);

double time = ((double)getTickCount() - start) / getTickFrequency();
cout << “所用时间为:“ << time << “秒“ << endl;
cout << “chenxu jieshu“ << endl;
waitKey(0);
return 0;

}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-11-19 21:05  立体匹配\
     目录           0  2018-11-19 21:05  立体匹配\BM\
     目录           0  2018-11-19 21:05  立体匹配\BM\.vs\
     目录           0  2018-11-19 21:05  立体匹配\BM\.vs\BM\
     目录           0  2018-11-19 21:05  立体匹配\BM\.vs\BM\v15\
     文件       29184  2018-11-19 21:05  立体匹配\BM\.vs\BM\v15\.suo
     文件    27811840  2018-11-19 21:02  立体匹配\BM\.vs\BM\v15\Browse.VC.db
     文件          42  2018-11-19 21:05  立体匹配\BM\.vs\BM\v15\Browse.VC.opendb
     目录           0  2018-11-19 21:05  立体匹配\BM\.vs\BM\v15\ipch\
     文件      327680  2018-11-19 21:05  立体匹配\BM\.vs\BM\v15\ipch\36abe268ecd89222.ipch
     文件      327680  2018-11-19 21:00  立体匹配\BM\.vs\BM\v15\ipch\f35ee17b09b6ccff.ipch
     目录           0  2018-11-19 21:05  立体匹配\BM\BM\
     文件        1539  2018-11-19 21:02  立体匹配\BM\BM\BM.cpp
     文件        8582  2018-11-19 21:02  立体匹配\BM\BM\BM.vcxproj
     文件        1150  2018-11-19 21:00  立体匹配\BM\BM\BM.vcxproj.filters
     文件         165  2018-11-19 21:00  立体匹配\BM\BM\BM.vcxproj.user
     文件       18431  2018-11-09 22:03  立体匹配\BM\BM\left.jpg
     文件         200  2018-11-19 21:00  立体匹配\BM\BM\pch.cpp
     文件         639  2018-11-19 21:00  立体匹配\BM\BM\pch.h
     文件       18366  2018-11-09 22:03  立体匹配\BM\BM\right.jpg
     目录           0  2018-11-19 21:05  立体匹配\BM\BM\x64\
     目录           0  2018-11-19 21:05  立体匹配\BM\BM\x64\Debug\
     文件         189  2018-11-19 21:02  立体匹配\BM\BM\x64\Debug\BM.log
     文件      467202  2018-11-19 21:02  立体匹配\BM\BM\x64\Debug\BM.obj
     文件     2031616  2018-11-19 21:02  立体匹配\BM\BM\x64\Debug\BM.pch
     目录           0  2018-11-19 21:05  立体匹配\BM\BM\x64\Debug\BM.tlog\
     文件         186  2018-11-19 21:02  立体匹配\BM\BM\x64\Debug\BM.tlog\BM.lastbuildstate
     文件        1314  2018-11-19 21:02  立体匹配\BM\BM\x64\Debug\BM.tlog\CL.command.1.tlog
     文件       42862  2018-11-19 21:02  立体匹配\BM\BM\x64\Debug\BM.tlog\CL.read.1.tlog
     文件         606  2018-11-19 21:02  立体匹配\BM\BM\x64\Debug\BM.tlog\CL.write.1.tlog
     文件        1238  2018-11-19 21:02  立体匹配\BM\BM\x64\Debug\BM.tlog\link.command.1.tlog
............此处省略69个文件信息

评论

共有 条评论