我有一个格式为 32FC1 的像素数组(一个通道的 32 位浮点)
float * image; // my original image on the GPU
float * image_d;
int size = row*col*sizeof(float);
cudaMalloc((void**)&f_d, size);
cudaMemcpy(image_d, image, size, cudaMemcpyHostToDevice);
现在,我想gpu::GaussianBlur
从 OpenCV on调用该函数image_d
,但该函数只接受 format 的参数"GpuMat"
。有什么方法可以将GPU 上的array
of转换为?float
GpuMat
我的意思是,我不希望在 CPU 和 GPU 之间发生任何内存复制。我希望OpenCV函数可以直接在GPU上处理数组。