Обработка Python opencv mp4 на графическом процессореPython

Программы на Python
Ответить
Anonymous
 Обработка Python opencv mp4 на графическом процессоре

Сообщение Anonymous »


Я пытаюсь создать сценарий, который определяет определенный цвет в кадре, используя cv2. Версия кода для ЦП выполняется за то же время, что и версия для графического процессора. Вот фрагмент графического процессора:

импортировать cv2 импортировать numpy как np время импорта Lower_yellow = np.array([20, 100, 100], dtype=np.uint8) Upper_yellow = np.array([30, 255, 255], dtype=np.uint8) gpu_lower_yellow = cv2.cuda_GpuMat().upload(lower_yellow) gpu_upper_yellow = cv2.cuda_GpuMat().upload(upper_yellow) cap = cv2.VideoCapture("путь/к/любому/видео/файлу.mp4") start_time = время.время() номер_фрейма = 1 разрешение = 3 в то время как cap.isOpened(): если номер кадра % разрешения == 0: ret, кадр = cap.read() если не вернуть: перерыв # hsv_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV) # Masked_frame = get_masked_frame(hsv_frame, "скин") gpu_frame = cv2.cuda_GpuMat() gpu_frame.upload(кадр) hsv_frame = cv2.cuda.cvtColor(gpu_frame, cv2.COLOR_BGR2HSV) Masked_frame = cv2.cuda.inRange (hsv_frame, gpu_lower_yellow, gpu_upper_yellow) total_target_pixel = cv2.cuda.countNonZero(masked_frame) # if total_target_pixel > порог -> сделать что-нибудь номер_фрейма += 1 конечное_время = время.время() истекшее_время = конечное_время - начальное_время print(f"Прошедшее время: {elapsed_time} секунд") Я не вижу никаких улучшений по сравнению с версией кода для ЦП, и, проверив панель производительности, я вижу, что графический процессор простаивает. Я делаю неправильно, или на GPU такая обработка невозможна?

Я правильно установил наборы инструментов cudnn и cuda.


Изображение

Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»