J'ai parcouru la documentation et je n'ai pas reçu de description claire et détaillée sur UMat; Cependant, je pense qu'il a quelque chose à voir avec le GPU et le CPU. Sil te plait aide moi. Je vous remercie.
Peut-être que la section 3 de ce document vous aidera: [lien maintenant rompu] https://software.intel.com/sites/default/files/managed/2f/19/inde_opencv_3.0_Arch_guide.pdf
Plus précisément, la section 3.1:
Une abstraction unifiée cv :: UMat qui permet aux mêmes API d'être implémentées à l'aide du code CPU ou OpenCL, sans qu'il soit nécessaire d'appeler explicitement la version accélérée OpenCL. Ces fonctions utilisent un GPU compatible OpenCL s'il existe dans le système et passent automatiquement en mode CPU dans le cas contraire.
et section 3.3:
Généralement, cv :: UMat est la classe C++, qui est très similaire à cv :: Mat. Mais les données UMat réelles peuvent être situées dans une mémoire système normale, une mémoire vidéo dédiée ou une mémoire partagée.
Lien vers l'utilisation suggérée dans les commentaires par @ BourbonCreams :
https://docs.opencv.org/3.0-rc1/db/dfa/tutorial_transition_guide.html#tutorial_transition_hints_opencl