OpenCV如何将GpuMat复制到另一个GPU指针并复制回来以验证正确性?
Posted
技术标签:
【中文标题】OpenCV如何将GpuMat复制到另一个GPU指针并复制回来以验证正确性?【英文标题】:OpenCV how to copy GpuMat to another GPU pointer and copy back to verify correctness? 【发布时间】:2021-07-24 00:42:57 【问题描述】:任何机构都可以给我一个可行的例子吗?
我想将一个 3 通道图像从 GpuMat 复制到另一个 gpu 指针,并且我希望指针存储的数据与原始图像完全相同。
如何处理?
【问题讨论】:
【参考方案1】:OpenCV 提供了函数 assignTo
来复制图像,还提供了 clone
函数,这在你的情况下更简单。
或者,如果您对此有任何问题,可以使用ptr
函数获取GPU 设备上的原始指针,然后使用CUDA API(例如cudaMemcpy
)。
【讨论】:
先生,您只是重复了我的问题,没有回答我的问题。我想使用 cudaMemcpy 将 GpuMat 复制到我的另一个 gpu 位置,但是如何??我试过但失败了,我需要一个可行的例子。 好吧,您只需要调用GpuMat copy = yourImage.clone();
,然后调用copy.ptr()
即可“将3 通道图像从GpuMat 复制到另一个gpu 指针[...] 与原始图像完全相同”。这很简单,文档对此非常清楚。
你能给我一个可行的例子吗?我试了一下,但是复制到 gpu ptr 的数据是完全错误的。以上是关于OpenCV如何将GpuMat复制到另一个GPU指针并复制回来以验证正确性?的主要内容,如果未能解决你的问题,请参考以下文章