import cv2
import time
import os
import tkinter as t
import tkinter.filedialog
def vd():
kuang.delete(0,"end")
gu=t.filedialog.askopenfilename() #选择视频
lm=gu.split('/')[-1]
v.set(lm)
cap = cv2.VideoCapture(gu)
saving = True # 控制视频是否将视频逐帧保存为图片
frame_id = 0
dir1 = ""
dir1 = time.strftime("%Y_%m_%d_%H_%M_%S", time.localtime())#时间做文件夹名
print(gu)
os.mkdir(dir1)
saving = True
frame_id = 0
while True:
_, im = cap.read()
if im is None:
break
key = cv2.waitKey(10) & 0xFF
if saving:
file_name = dir1 +"\\" + str(frame_id)
cv2.imwrite(file_name + ".jpg", im) #从0开始做照片名
frame_id += 1
if (key == ord('q')) | (key == 27):
break
print("输出完毕")
gu=t.Tk()
gu.geometry('200x100')
v = t.StringVar()
kuang = t.Entry(width=20, textvariable=v)
kuang.pack()
an = t.Button(text="选择", command=vd,bg='skyblue').pack()
gu.mainloop()
效果: