前面也学习了如何使用CUDA,今天就来试试它的图像处理,今天实现的一个功能是彩色图转换为灰度图。使用的开发环境是
VS2015+CUDA 9.1+Opencv340
安装好了之后新建一个工程,选择NVIDIA->CUDA9.1
新建了工程之后,需要自己配置Opencv340
可以选择使用它自己的kerner.cu,也可以选择自己新建一个.cu
这里添加,只能选择在工程上右键添加。
选择CUDA C/C++ File添加一个.cu文件
.cu文件的代码如下
//grayscale.cu
#include "math.h"
#include "stdio.h"
#include "algorithm"
#include "cuda_runtime.h"
#include "device_launch_parameters.h"
#include "helper_cuda.h"
#include "vector"
#include "vector_functions.hpp"
__global__ void rgba_to_greyscale(const uchar4* const rgbaImage,unsigned char* const greyImage,
int numRows,int numCols)
{
int index_x = blockIdx.x*blockDim.x + threadIdx.x;
int index_y = blockIdx.y*blockDim.y &#