OpenCV中UMat和Mat有什么区别?

问题描述 投票:23回答:1

我已经阅读了文档,但没有得到关于UMat的详细描述;但我认为它与GPU和CPU有关。请帮帮我。谢谢。

opencv mat
1个回答
40
投票

也许本文档的第3部分将有所帮助:[链接现已破] https://software.intel.com/sites/default/files/managed/2f/19/inde_opencv_3.0_arch_guide.pdf

具体来说,第3.1节:

统一抽象cv :: UMat,它允许使用CPU或OpenCL代码实现相同的API,而无需显式调用OpenCL加速版本。如果存在于系统中,这些函数使用支持OpenCL的GPU,否则将自动切换到CPU操作。

和第3.3节:

通常,cv :: UMat是C ++类,它与cv :: Mat非常相似。但实际的UMat数据可以位于常规系统存储器,专用视频存储器或共享存储器中。

链接到@BourbonCreams评论中建议的用法: https://docs.opencv.org/3.0-rc1/db/dfa/tutorial_transition_guide.html#tutorial_transition_hints_opencl

© www.soinside.com 2019 - 2024. All rights reserved.