Quelle est la différence entre UMat et Mat dans OpenCV?

j'ai parcouru la documentation et je n'ai pas eu de description détaillée claire sur UMat; cependant je pense qu'il a quelque chose à voir avec GPU et CPU. Merci de m'aider. Remercier.

17
demandé sur Aniket Sharma 2015-11-09 07:42:25

1 réponses

peut-être que la section 3 de ce document aidera: [link now broken] https://software.intel.com/sites/default/files/managed/2f/19/inde_opencv_3.0_arch_guide.pdf

plus précisément, section 3.1:

une abstraction cv unifiée:: UMat qui permet la mise en œuvre du même API à l'aide du code CPU ou OpenCL, sans obligation d'appeler explicitement la version accélérée OpenCL. Ces fonctions utilisent un GPU activé par OpenCL s'il existe dans le système, et passez automatiquement au fonctionnement CPU autrement.

et à l'article 3.3:

généralement, le cv:: UMat est la Classe C++, qui est très similaire au cv:: Mat. Mais les données UMat réelles peuvent être localisées dans une mémoire système régulière, mémoire vidéo dédiée, ou mémoire partagée.

Lien vers l'utilisation suggéré dans les commentaires @BourbonCreams:

https://docs.opencv.org/3.0-rc1/db/dfa/tutorial_transition_guide.html#tutorial_transition_hints_opencl

33
répondu beaker 2018-08-30 13:36:16