官网上gpu模块使用例子
#include <iostream>
#include "opencv2/opencv.hpp"
#include "opencv2/gpu/gpu.hpp"
int main (int argc, char* argv[])
{
}
-------------------------------------------------------------------------------
官网的模板匹配使用例子
#include <iostream>
#include <string.h>
#include <algorithm>//max_element and min_element
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <cstdio>
#include <ctime>
#include <time.h>
#include<opencv2/opencv.hpp>
#include<opencv2/gpu/gpu.hpp>
#include<opencv2/core/core.hpp>
#include<opencv2/features2d/features2d.hpp>
#include<opencv2/highgui/highgui.hpp>
#include<opencv2/calib3d/calib3d.hpp>
#include<opencv2/imgproc/imgproc.hpp>
#include<cuda_runtime_api.h>
//#include <cuda.h>
//#include "/usr/local/cuda/include/cuda_runtime_api.h"
using namespace std;
using namespace cv;
int main( int argc, char** argv )
{
Mat scene = imread ( "scene.jpg",1);
Mat templ = imread ( "template.jpg",1);
//Split to 1 channel
vector<Mat> rgbImg(3);
split(scene, rgbImg);
Mat scene1chan=rgbImg[0];
vector<Mat> rgbImg2(3);
split(templ, rgbImg2);
Mat templ1chan=rgbImg2[0];
//Upload to GPU mem
gpu::GpuMat gpu_scene, gpu_templ;
gpu_scene.upload(scene1chan);
gpu_templ.upload(templ1chan);
double minVal; double maxVal; Point minLoc; PointmaxLoc;
gpu::GpuMat gpu_result;
gpu_result.create(gpu_scene.rows-gpu_templ.rows+1 ,gpu_scene.cols-gpu_templ.cols+1 , CV_32F);
gpu::matchTemplate(gpu_scene, gpu_templ,gpu_result,CV_TM_SQDIFF);
gpu::minMaxLoc(gpu_result, &minVal,&maxVal, &minLoc,&maxLoc );
Mat result=gpu_result;
namedWindow("result", 0);
imshow( "result", result );
waitKey(0);
return(0);
}
--------------------------------------------------------------------------------------
迭代的是人,递归的是神这个作者的
#include <iostream>
#include "cvconfig.h"
#include "opencv2/core/core.hpp"
#include "opencv2/gpu/gpu.hpp"
#include "opencv2/core/internal.hpp" // For TBB wrappers
using namespace std;
using namespace cv;
using namespace cv::gpu;
struct Worker { void operator()(int device_id) const; };
int main()
{
}
void Worker::operator()(int device_id) const
{
}
-----------------------------------------------------------------------------------------------
下面的有问题,得加using namespace std;
#include<iostream>
#include"opencv2\gpu\gpu.hpp"
#include"opencv2\opencv.hpp"
int main()
{
}
**************************************************************
都有问题,cv::Mat可以转化为GpuMat
GpuMat也可以转为Mat
cv::Matresult_host =
cv::Mat(dst);