OpenCV中UMat和Mat有什么区别?

Ani*_*rma 24 opencv mat

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

bea*_*ker 41

也许本文档的第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