1.新建cuda项目
2. 添加环境
在vc++目录-->包含目录
添加
D:\Program Files\opencv\opencv-3.4.5\build_cuda\install\include\opencv2
D:\Program Files\opencv\opencv-3.4.5\build_cuda\install\include\opencv
D:\Program Files\opencv\opencv-3.4.5\build_cuda\install\include
vc++目录-->库目录
D:\Program Files\opencv\opencv-3.4.5\build_cuda\install\lib
链接器-->输入-->附加依赖项
加入D:\Program Files\opencv\opencv-3.4.5\build_cuda\install\lib下的所有lib文件,可以通过python代码来输出,然后复制到依赖项中
import os
path = r'D:\Program Files\opencv\opencv-3.4.5\build_cuda\install\lib'
for file in os.listdir(path):
if file.split('.')[-1] == 'lib':
print(file)
3.代码这里我只能两幅图片进行了融合,两幅图片的单应性变换在上一个博客
里已经完成,我直接拿来用的,融合的原理是一样的,这部分代码我只进行了cuda加速,上次使用numpy矩阵融合4.8s,这次使用cuda融合只需要1s。有不明白的地方可以参考下我的另一篇博客
// main.cpp
#include <iostream>
#include <string>
#include "opencv2/core/core.hpp"
#include "opencv2/features2d/features2d.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/flann/flann.hpp"
#include<opencv2/calib3d/calib3d.hpp>
#include<opencv2/opencv.hpp>
#include "opencv2/core/cuda.hpp"
#include<math.h>
#include<ctime>
using namespace cv::cuda;
using namespace std;
using namespace cv;
#include <iostream>
#include <opencv2/opencv.hpp>
using namespace cv;
void swap_rb(const GpuMat& src1, const GpuMat& src2, GpuMat& dst, int left_x, int right_x, Stream& stream = Stream::Null());
int main(