我是一个初学者使用python,所以这可能是相对简单的,但我想把一个脚本,我发现网上使用opencv成一个循环,以便它可以转换成图像整个文件夹的视频。你知道吗
当我向cv2.VideoCapture()
输入一个视频文件名时,这段代码工作得很好,但是当我试图将它定义为循环可以引用的变量名时遇到了问题。因此,任何有关如何正确构造循环和子例程的帮助都将非常有用!你知道吗
import cv2
import numpy as np
import os
vidcap = cv2.VideoCapture('FS_T8_2019-01-17_02.14.52_.MP4')
def getFrame(sec):
vidcap.set(cv2.CAP_PROP_POS_MSEC,sec*1000)
hasFrames,image = vidcap.read()
if hasFrames:
cv2.imwrite("image"+str(count)+".jpg", image) # save frame as JPG file
return hasFrames
sec = 0
frameRate = 1 #//it will capture image in each 1 second
count=1
success = getFrame(sec)
while success:
count = count + 1
sec = sec + frameRate
sec = round(sec, 2)
success = getFrame(sec)
理想情况下,您需要在getFrame函数中移动vidcap,以获取视频源作为参数,这样每个视频的vidcap都会不同。我在一个文件夹(视频)上循环,然后像这样将帧输出到另一个文件夹(输出)
相关问题 更多 >
编程相关推荐