У меня есть папка, полная клипов mp4 (более 200).Я хочу взять все эти клипы, извлечь их кадры и отправить их в другую папку, чтобы сохранить все кадры. Это то, что у меня есть (часть кода), но это работает, только когда у меня есть один файл mp4 в том жепапка:
import cv2 # for capturing videos
import math # for mathematical operations
import matplotlib.pyplot as plt # for plotting the images
import pandas as pd
from keras.preprocessing import image # for preprocessing the images
import numpy as np # for mathematical operations
from keras.utils import np_utils
from skimage.transform import resize # for resizing images
count = 0
videoFile = "sample_vid.mp4"
cap = cv2.VideoCapture(videoFile) # capturing the video from the given path
frameRate = cap.get(5) #frame rate
x=1
while(cap.isOpened()):
frameId = cap.get(1) #current frame number
ret, frame = cap.read()
if (ret != True):
break
if (frameId % math.floor(frameRate) == 0):
filename ="frame%d.jpg" % count;count+=1
cv2.imwrite(filename, frame)
cap.release()
print ("Done!")
Опять же, у меня возникают проблемы с работой с каталогами файлов в python и зацикливанием его, чтобы он прошел через все файлы в другой папке и отправил кадры, извлеченные в другую папку.