如果我在opencv中使用UMat并关闭GPU处理,会有速度差异吗

Is there any speed difference if I use UMat and turn off GPU processing in opencv?

本文关键字:处理 GPU 速度 opencv UMat 如果      更新时间:2023-10-16

假设我有一个用C++编写的代码,它使用Mat来保存图像。

我想将所有Mat更改为UMat,以便应用程序在GPU上运行,也在CPU上运行(如果我通过调用ocl::setUseOpenCL(false)关闭GPU处理;)

但我想知道,如果我这样做,性能会有什么变化吗?

所以在夏天,如果我有一个使用Mat的代码,如果我把所有Mat都改为UMats,是否有任何性能差异(当不在GPU上运行时)?

第1版

为了澄清问题的范围,让我改写一下:

假设我没有使用GPU,为什么我不应该使用uMat而不是Mat?

使用UMat时,opencv使用透明API来使用附加的硬件。所以,通过关闭GPU处理,你不应该期望加速。