Низкий fps при вводе видеофайлов с более высоким разрешением на OpenCV - PullRequest
1 голос
/ 19 марта 2020

Я пытаюсь размыть лица с помощью детектора лиц dlib и открыть резюме. Код работает нормально при вводе данных с веб-камеры, но он дает низкий fps, когда я передаю видеофайл 720p или 1080p в качестве входных данных. Моя конечная цель - размыть грани, когда коду присваивается видеофайл с любым разрешением.

Я попытался уменьшить размер кадра с помощью «cap.set ()». Но это не работает. Любая помощь будет оценена. выходной кадр

1 Ответ

0 голосов
/ 19 марта 2020

Можно ли уменьшить разрешение видео более высокого качества, если ваш код уже работает с видео более низкого разрешения? Если это так, то, возможно, вы могли бы попробовать что-то вроде следующего кода из opencv.org :

import cv2
vidcap = cv2.VideoCapture('myvid2.mp4')
success,image = vidcap.read()
count = 0;
print "I am in success"
while success:
    success,image = vidcap.read()
    resized = cv2.resize(image, fx=0.5, fy=0.5, interpolation = cv2.INTER_LINEAR) 
    cv2.imwrite("%03d.jpg" % count, resize)     
    if cv2.waitKey(10) == 27:                     
        break
    count += 1

Это должно уменьшить разрешение видео вдвое. И вы можете еще больше уменьшить разрешение, изменив параметры 0.5 в cv2.resize () на что-то еще меньшее.

...