一个很简单的CUDA程序,适合刚刚接触CUDA的人了解CUDA的工作原理,以及与OpenCV结合的基本用法。
#include <stdlib.h>
#include <stdio.h>
#include <cv.h>
#include <highgui.h>
#include "cutil_inline.h"
#define GAMMA 0.4
void runTest(int argc, char** argv);
__global__ void testKernel(float* d_idata, float* d_odata, int width, int height, float gamma)
{
unsigned int tid_in_grid_x = blockDim.x*blockIdx.x + threadIdx.x;
unsigned int tid_in_grid_y = blockDim.y*blockIdx.y + threadIdx.y;
unsigned int tid_in_grid = tid_in_grid_y*width + tid_in_grid_x;
d_odata[tid_in_grid] = powf(d_idata[tid_in_grid], gamma);
}
int main(int argc, char** argv)
{
runTest(argc, argv);
CUT_EXIT(argc, argv);
}
void runTest(int argc, char** argv)
{
i