Совместное использование данных GPU / CPU с Python OpenCV / OpenCL на ODROID XU4 - PullRequest
1 голос
/ 09 июля 2020

Я выполняю обработку видео в реальном времени на ODROID XU4 (Samsung Exynos5422 с графическим процессором Mali-T628) с использованием OpenCV 4.1 и Python 3.6. Я могу использовать графический процессор, преобразовав массивы Numpy, содержащие мои изображения, в UMat, например:

img_umat = cv2.UMat(img_array)

Это сделано, код обработки изображений работает быстрее, чем на CPU; однако передача в / из GPU занимает много времени (в некоторых случаях ~ 0,03 секунды). Есть ли способ обойти это?

Я новичок в программировании на GPU и ломал голову над разделом 8.3 здесь . Я не знаю, как инициализатор "cv2.UMat (array)" по умолчанию выделяет память, поэтому я попытался указать его, например,

host_mat = cv2.UMat(mat,cv2.USAGE_ALLOCATE_HOST_MEMORY)

Но когда я это делаю, ошибки не возникает и host_mat пуст. Я что-то делаю не так, или я полностью на ложном пути? Любые предложения приветствуются.

...