在以前版本的OpenCV中,有一个函数Stream::enqueueUpload
可用于与CudaMem
一起异步上传数据到GPU(比较:how to use gpu::Stream in OpenCV?)。但是,OpenCV 3中不再存在此函数。CudaMem
类也已消失,但似乎已由HostMem
类替换。
有人能告诉我如何在OpenCV 3中执行异步上传吗?
答案 0 :(得分:4)
现在可以通过void GpuMat::upload(InputArray arr, Stream& stream)
方法完成:
cv::cuda::GpuMat d_mat;
cv::cuda::HostMem h_mat;
cv::cuda::Stream stream;
d_mat.upload(h_mat, stream);