import cv2
import os
videopath =r"1-1-2-1_fa_diantou+idle+idle_audio.mp4"
pic_path = r'F:\2023_02_24\liu_hui\video_cv2\pic'
def start_deal():
vc = cv2.VideoCapture(videopath) # 读入视频文件
if vc.isOpened(): # 判断是否正常打开
rval, frame = vc.read()
else:
rval = False
fps = vc.get(cv2.CAP_PROP_FPS) # 每秒帧数
image_timer = 1
timeF = int(fps * image_timer)
c = 0
cut_time = 0
while rval: # 循环读取视频帧
rval, frame = vc.read()
if (c % timeF == 0 and rval): # 每隔timeF帧进行存储操作
img2gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
imageVar = cv2.Laplacian(img2gray, cv2.CV_64F).var()
if imageVar > 10:
image_full_path = os.path.join(pic_path,str(cut_time)+'.jpg')
cv2.imwrite(image_full_path, frame) # 存储为图像
cut_time += image_timer # 这里记录叠加时间
c = c + 1
cv2.waitKey(1)
vc.release()
if __name__ == '__main__':
start_deal()