一、环境配置
1、VS+CUDA环境搭建:参考我的文章:https://zhuanlan.zhihu.com/p/131360852
2、CUDA版本的OpenCV:参考我的文章:https://zhuanlan.zhihu.com/p/131353743
二、简单示例
1、新建控制台项目
2、在源文件中加载头文件如下:
#include "stdafx.h"
#include "cuda_runtime.h"
#include "device_launch_parameters.h"
#include <stdio.h>
#include <opencv2/opencv.hpp>
#include <iostream>
#include <opencv2/cudaobjdetect.hpp>
using namespace std;
using namespace cv;
using namespace cuda;
3、操作GpuMat像素在__global__函数中进行,返回值一定是void,此处操作的是将偶数行的像素置为255。
/**
* GPU访问数据
* @param mat GpuMat被强转为PtrStep<>类型之后的参数
*/
__global__ void removeRowPointProcess(PtrStepSz<uchar1> mat)
{
int i = threadIdx.x + blockI