Можно ли как-нибудь извлечь кадры [frame-rate = 5] из видео с помощью OpenCV python? - PullRequest
0 голосов
/ 09 апреля 2020

Мне удалось извлечь кадры из видеофайла продолжительностью 297 секунд с помощью приведенного ниже кода, однако мне нужны только кадры с частотой кадров = 5. Извлеченные изображения должны иметь частоту 5 кадров, а общее количество кадров должно быть быть 298. Видео файл 30 кадров в секунду и в формате mp4.

import cv2 
import os 

vid = cv2.VideoCapture("/content/Dataset/video.mp4") 

try:        
    if not os.path.exists('/content/data'): 
        os.makedirs('/content/data')  
except OSError: 
    print ('Error: Creating directory of data') 

currentframe = 0

while(True):  
    ret,frame = vid.read()   
    if ret: 
        name = '/content/data/frame' + str(currentframe) + '.jpg'  
        cv2.imwrite(name, frame) 
        currentframe += 1
    if currentframe == 298:
      break

vid.release() 
cv2.destroyAllWindows()
print('Completed')
...