找到一个有趣的程式码,改了一下,可截取Video画面,存成一张张图片。
进行中想要中断执行,可按 ESC 中断。
''' VideoToFrames.py 截取Video画面'''import cv2, keyboard, os, ctypes# 要播的影片请自设vidcap = cv2.VideoCapture('YourVideo.mp4')#------------------ def getFrame(sec): vidcap.set(cv2.CAP_PROP_POS_MSEC,sec*1000) hasFrames,image = vidcap.read() if hasFrames: cv2.imwrite("media\\scrn"+str(count)+".jpg", image) return hasFrames#--- 主流程 --------prompt = '即将开始Video画面截取,如进行中愈中断,可按Esc...'ctypes.windll.user32.MessageBoxW(0,prompt, 'Video To Frames', 1)if not os.path.isdir('media'): os.mkdir('media')#--- 每隔0.5秒截取一次画面-----sec = 0frameRate = 0.5 count = 1success = getFrame(sec)#--- 执行迴圈,可按Esc中断while success: try: count += 1 sec = sec + frameRate sec = round(sec, 2) print(f'sec: {sec}') success = getFrame(sec) if keyboard.is_pressed('Esc'): print('quit') success = False break except: pass