最近一直在做三维重建的毕业设计,看了好多的算法、论文和代码。在查找资料的过程中发现很多人上传的东西真的是没法用,而且全都要积分。我虽说是一个水货,也不致力于从事着方面的研究和工作,但是为了毕设也没办法,目前调通了很多算法,虽然说不清原理,但是还是把代码创传上来,供大家使用。
一、win32项目工程,stereo vision1
1、头文件:
#include "stdafx.h"
#include <cstdio>
#include<cstring>
#include <cmath>
#include <highgui.h>
#include <cv.h>
#include <cxcore.h>
#include <iostream>
#include <iostream>
#include <stdlib.h>
#include <cvaux.h>
#include "opencv2/calib3d/calib3d.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/contrib/contrib.hpp"
#pragma comment(lib,"opencv_highgui249d.lib")
#pragma comment(lib,"opencv_core249d.lib")
#pragma comment(lib,"opencv_imgproc249d.lib")
#include <math.h>
#include <GL/glut.h>
#include <iostream>
2、SGBM算法
int StereoSBGM(IplImage *img1, IplImage *img2)
{
cv::StereoSGBM sgbm;
int SADWindowSize = 9;
sgbm.preFilterCap = 63;
sgbm.SADWindowSize = SADWindowSize > 0 ? SADWindowSize : 3;
int cn = img1->nChannels;
int numberOfDisparities=64;
sgbm.P1 = 8*cn*sgbm.SADWindowSize*sgbm.SADWindowSize;
sgbm.P2 = 32*cn*sgbm.SADWindowSize*sgbm.SADWindowSize;
sgbm.minDisparity = 0;
sgbm.numberOfDisparities = numberOfDisparities;
sgbm.uniquenessRatio