Подтвердить что ты не робот

В чем разница между UMat и Mat в OpenCV?

Я прошел через документацию и не получил четкого подробного описания о UMat; однако я думаю, что это что-то связано с графическим процессором и процессором. Пожалуйста, помогите мне. Спасибо.

4b9b3361

Ответ 1

Возможно, раздел 3 этого документа поможет: https://software.intel.com/sites/default/files/managed/2f/19/inde_opencv_3.0_arch_guide.pdf

В частности, раздел 3.1:

Единая абстракция cv:: UMat, которая позволяет реализовать одни и те же API-интерфейсы с использованием кода CPU или OpenCL, без необходимости прямого вызова версии с открытым кодом OpenCL. Эти функции используют графический процессор с поддержкой OpenCL, если он существует в системе, и в противном случае автоматически переключается на работу с ЦП.

и раздел 3.3:

Как правило, cv:: UMat - это класс С++, который очень похож на cv:: Mat. Но фактические данные UMat могут быть расположены в обычной системной памяти, выделенной видеопамяти или общей памяти.