Как использовать opencv с поддержкой cuda на python?

#python #opencv

#python #opencv

Вопрос:

Я нашел пример кода opencv на python с ускорением cuda в официальном репозитории opencv на github. test_cuda.py

 cuMat1 = cv.cuda_GpuMat()
cuMat2 = cv.cuda_GpuMat()
cuMat1.upload(npMat1)
cuMat2.upload(npMat2)

cuMat1 = cv.cuda.cvtColor(cuMat1, cv.COLOR_RGB2GRAY)
cuMat2 = cv.cuda.cvtColor(cuMat2, cv.COLOR_RGB2GRAY)
  

Но я обнаружил, что модуль ‘cv2.cuda’ не имеет атрибута ‘cvtColor’.

Моя информация о сборке opencv:

 NVIDIA CUDA:                   YES (ver 10.0, CUFFT CUBLAS FAST_MATH)
NVIDIA GPU arch:             61
NVIDIA PTX archs:            61
  

Полная информация о сборке

Как это исправить?

Комментарии:

1. pastebin.com/U7v12Vhm

2. Какую версию вы создали, пожалуйста?

Ответ №1:

Вы должны измениться следующим образом.

 cuMat1 = cv.cuda_GpuMat()
cuMat2 = cv.cuda_GpuMat()

npMat1_n = cv.cvtColor(npMat1, cv.COLOR_RGB2GRAY)
npMat2_n = cv.cvtColor(npMat2, cv.COLOR_RGB2GRAY)

cuMat1.upload(npMat1_n)
cuMat2.upload(npMat2_n)
  

Комментарии:

1. Это выполняет cvtColor на CPU, а не на GPU.