37,719
社区成员
发帖
与我相关
我的任务
分享
#coding=utf-8
import os
import cv2
global lines
#从txt文本里读取视频路径和fps
#fps表示每fps帧提取一帧
with open("config.txt") as f:
lines=f.readlines()
videopath=lines[0]
videopath=videopath.strip()
videopath=videopath[10:]
fps=lines[1]
fps=fps.strip()
fps=int(fps[4:])
mycount=0
for path,directory,filelist in os.walk(videopath):
for myfile in filelist:
if myfile.endswith("MOV"):
vpath=path+'\\'+myfile
cap=cv2.VideoCapture(vpath)
index=len(videopath)
newPath=path[0:index]+'\\Picture'+path[index:]+"\\"
if(os.path.exists(newPath))==False:
os.makedirs(newPath)
totalframe = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))
for i in range(totalframe):
if i % fps == 0:
ret, frame = cap.read()
mycount = "%.6d" % mycount;
print (newPath + str(mycount) + '.jpg')
cv2.imwrite(newPath + str(mycount) + '.jpg', frame)
mycount = int(mycount)
mycount += 1