以固定 FPS 值提取帧

Frame Extraction at Fixed FPS Value

在使用 OpenCV 从视频中提取帧时,我如何设置一个特定值以进行帧提取?

我已经看到许多可用的图像提取示例代码,但它们没有显示任何帧速率选项。

提取帧的方式有很多种,一种是使用ffmg提取帧。

其他是,您可以尝试此代码,但我们不能使用您在尝试不同值时会理解的任何随机值。 根据您的系统更改目录 app

import math
count = 0
videoFile = "train/train.mp4"
cap = cv2.VideoCapture(videoFile)  
frameRate = cap.get(5) #frame rate
x=1
while(cap.isOpened()):
    frameId = cap.get(1) 
    ret, frame = cap.read()
    if (ret != True):
        break
    else (frameId % math.floor(frameRate) == 0):
        filename ="train/frame2/frame%d.jpg" % count;count+=1
        cv2.imwrite(filename, frame)
cap.release()
print ("Done!")