cv::cuda::GpuMat
是OpenCV中用于表示GPU上的图像数据的类,它继承自cv::cuda::GpuMatBase
类,提供了一些常用的操作函数,例如 upload
、download
、copyTo
等。其中,upload
函数用于将CPU上的图像数据上传到GPU上,函数定义如下:
void upload(InputArray arr, Stream& stream = Stream::Null());
其中,
arr
是要上传的图像数据,可以是cv::Mat
、cv::UMat
、std::vector
等类型;stream
是一个cv::cuda::Stream
类型的引用,用于指定上传操作所在的CUDA流。如果不指定流,默认使用空流。需要注意的是,上传操作是异步的,函数返回后并不保证上传操作已经完成,如果需要等待上传操作完成,可以调用cv::cuda::Stream::waitForCompletion
函数。