Невозможно изменить частоту кадров для входного видео с помощью cv2.VideoCapture (video_path) .set (cv2.CAP_PROP_FPS, new_frame_rate) - PullRequest
0 голосов
/ 04 февраля 2019

Я читаю .mp4 видеофайл с использованием opencv-python (3.4.3.18) и python (3.6.6)

vid = cv2.VideoCapture(video_path)

Исходное видео имеет около 59 FPS, и я хочу уменьшить егодо 10 кадров в секунду.Итак, я установил свойство cv2.CAP_PROP_FPS, используя следующее,

flag = vid.set(cv2.CAP_PROP_FPS, 10)

(Ref: https://docs.opencv.org/3.4.3/d8/dfe/classcv_1_1VideoCapture.html#a8c6d8c2d37505b5ca61ffd4bb54e9a7c)

Однако, когда я печатаю значение flag, оно дает False.Это означает, что свойство не поддерживается бэкэндом, используемым экземпляром * 1014. * Следовательно, когда я читаю фрейм, используя

return_value, frame = vid.read()

, он возвращает все 59 фреймов, делая этапы постобработки больше времениКак решить эту проблему?

1 Ответ

0 голосов
/ 12 февраля 2019

Вы когда-нибудь пытались изменить cv2.waitKey () ?

Например: если у вас видео 60fps, попробуйте использовать cv2.waitKey (6000)

...